<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<title>Aria: ArSoundsQueue Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Aria
   &#160;<span id="projectnumber">2.9.1</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.11 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li><a href="examples.html"><span>Examples</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('classArSoundsQueue.html','');});
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="classArSoundsQueue-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">ArSoundsQueue Class Reference<div class="ingroups"><a class="el" href="group__UtilityClasses.html">Utility Classes</a></div></div>  </div>
</div><!--header-->
<div class="contents">

<p>This class manages a queue of items to play as WAV files or as text to speak using a speech synthesizer.  
 <a href="classArSoundsQueue.html#details">More...</a></p>

<p><code>#include &lt;ArSoundsQueue.h&gt;</code></p>

<p>Inherits <a class="el" href="classArASyncTask.html">ArASyncTask</a>.</p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArSoundsQueue_1_1Item.html">Item</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A sound item in the queue, with callbacks for dealing with the item and the data to pass to those callbacks.  <a href="classArSoundsQueue_1_1Item.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:a2916308d2249f60aca43728d04061d36"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2916308d2249f60aca43728d04061d36"></a>
typedef <a class="el" href="classArFunctor.html">ArFunctor</a>&#160;</td><td class="memItemRight" valign="bottom"><b>InterruptItemFunctor</b></td></tr>
<tr class="separator:a2916308d2249f60aca43728d04061d36"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adcaafc197f106de866c854ce3f9f468a"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArSoundsQueue.html#adcaafc197f106de866c854ce3f9f468a">ItemType</a> { <b>SPEECH</b>, 
<b>SOUND_FILE</b>, 
<b>SOUND_DATA</b>, 
<b>OTHER</b>
 }<tr class="memdesc:adcaafc197f106de866c854ce3f9f468a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Opaque identifier for the type of an item in the sound queue.  <a href="classArSoundsQueue.html#adcaafc197f106de866c854ce3f9f468a">More...</a><br /></td></tr>
</td></tr>
<tr class="separator:adcaafc197f106de866c854ce3f9f468a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a831d244f0f9f5740c58131e4cd663050"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a831d244f0f9f5740c58131e4cd663050"></a>
typedef <a class="el" href="classArRetFunctor.html">ArRetFunctor</a>&lt; bool &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArSoundsQueue.html#a831d244f0f9f5740c58131e4cd663050">PlaybackConditionFunctor</a></td></tr>
<tr class="memdesc:a831d244f0f9f5740c58131e4cd663050"><td class="mdescLeft">&#160;</td><td class="mdescRight">Callback types for determining whether to commence playing an item, or skipping it. <br /></td></tr>
<tr class="separator:a831d244f0f9f5740c58131e4cd663050"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1670bc04bab708282683f9862d822eeb"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classArRetFunctor2.html">ArRetFunctor2</a>&lt; bool, const char *, const char * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArSoundsQueue.html#a1670bc04bab708282683f9862d822eeb">PlayItemFunctor</a></td></tr>
<tr class="memdesc:a1670bc04bab708282683f9862d822eeb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Callback for playing a queue item.  <a href="#a1670bc04bab708282683f9862d822eeb">More...</a><br /></td></tr>
<tr class="separator:a1670bc04bab708282683f9862d822eeb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_types_classArThread"><td colspan="2" onclick="javascript:toggleInherit('pub_types_classArThread')"><img src="closed.png" alt="-"/>&#160;Public Types inherited from <a class="el" href="classArThread.html">ArThread</a></td></tr>
<tr class="memitem:ad165ffa091e34f6215c73d36aca9b4b2 inherit pub_types_classArThread"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad165ffa091e34f6215c73d36aca9b4b2"></a>
typedef std::map&lt; ThreadType, <a class="el" href="classArThread.html">ArThread</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>MapType</b></td></tr>
<tr class="separator:ad165ffa091e34f6215c73d36aca9b4b2 inherit pub_types_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af6d126a960a5af55f2ab3e05233e8b53 inherit pub_types_classArThread"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArThread.html#af6d126a960a5af55f2ab3e05233e8b53">Status</a> { <br />
&#160;&#160;<a class="el" href="classArThread.html#af6d126a960a5af55f2ab3e05233e8b53acc18d305d0eccadd2588c4b42f5f94b5">STATUS_FAILED</a> =1, 
<a class="el" href="classArThread.html#af6d126a960a5af55f2ab3e05233e8b53a3a691b0c508247f05b57fdcdf26bcbcf">STATUS_NORESOURCE</a>, 
<a class="el" href="classArThread.html#af6d126a960a5af55f2ab3e05233e8b53afb6a6a19ac7e5eae84ca230f90a577c1">STATUS_NO_SUCH_THREAD</a>, 
<a class="el" href="classArThread.html#af6d126a960a5af55f2ab3e05233e8b53a8cabd345d26c252559a993ba7d4db196">STATUS_INVALID</a>, 
<br />
&#160;&#160;<a class="el" href="classArThread.html#af6d126a960a5af55f2ab3e05233e8b53aa12716ae2e87670197b81ece3dbca9ea">STATUS_JOIN_SELF</a>, 
<a class="el" href="classArThread.html#af6d126a960a5af55f2ab3e05233e8b53ac31e3677374b5ae653026a3be95c6274">STATUS_ALREADY_DETATCHED</a>
<br />
 }</td></tr>
<tr class="separator:af6d126a960a5af55f2ab3e05233e8b53 inherit pub_types_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8da72e9d81791ca3da3d04f2b9c65934 inherit pub_types_classArThread"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8da72e9d81791ca3da3d04f2b9c65934"></a>
typedef pthread_t&#160;</td><td class="memItemRight" valign="bottom"><b>ThreadType</b></td></tr>
<tr class="separator:a8da72e9d81791ca3da3d04f2b9c65934 inherit pub_types_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a2989d1e187ad183bf0d26ce2552c9169"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArSoundsQueue.html#a2989d1e187ad183bf0d26ce2552c9169">addInitCallback</a> (<a class="el" href="classArRetFunctor.html">ArRetFunctor</a>&lt; bool &gt; *cb)</td></tr>
<tr class="memdesc:a2989d1e187ad183bf0d26ce2552c9169"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a callback to be called when the sound queue begins to run in its thread.  <a href="#a2989d1e187ad183bf0d26ce2552c9169">More...</a><br /></td></tr>
<tr class="separator:a2989d1e187ad183bf0d26ce2552c9169"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6c1813ed5c1b57c77b6f4d3f7c938988"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArSoundsQueue.html#a6c1813ed5c1b57c77b6f4d3f7c938988">addItem</a> (<a class="el" href="classArSoundsQueue_1_1Item.html">ArSoundsQueue::Item</a> item)</td></tr>
<tr class="memdesc:a6c1813ed5c1b57c77b6f4d3f7c938988"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add (a copy of) the given item to the queue.  <a href="#a6c1813ed5c1b57c77b6f4d3f7c938988">More...</a><br /></td></tr>
<tr class="separator:a6c1813ed5c1b57c77b6f4d3f7c938988"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac9330db5f43a7080f871516f0ea47089"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArSoundsQueue.html#ac9330db5f43a7080f871516f0ea47089">addItem</a> (<a class="el" href="classArSoundsQueue.html#adcaafc197f106de866c854ce3f9f468a">ItemType</a> type, const char *data, std::list&lt; <a class="el" href="classArSoundsQueue.html#a1670bc04bab708282683f9862d822eeb">PlayItemFunctor</a> * &gt; callbacks, int priority=0, const char *params=0)</td></tr>
<tr class="memdesc:ac9330db5f43a7080f871516f0ea47089"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a new queue item with the given data and add to the queue.  <a href="#ac9330db5f43a7080f871516f0ea47089">More...</a><br /></td></tr>
<tr class="separator:ac9330db5f43a7080f871516f0ea47089"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abbc9d407d6e76c6a58bd1fc52941fb71"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArSoundsQueue.html#abbc9d407d6e76c6a58bd1fc52941fb71">addQueueEmptyCallback</a> (<a class="el" href="classArFunctor.html">ArFunctor</a> *f)</td></tr>
<tr class="memdesc:abbc9d407d6e76c6a58bd1fc52941fb71"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a callback functor to be invoked when the sound queue becomes empty and the last sound has finished playing, that is, when a block of sounds/speech utterances ends.  <a href="#abbc9d407d6e76c6a58bd1fc52941fb71">More...</a><br /></td></tr>
<tr class="separator:abbc9d407d6e76c6a58bd1fc52941fb71"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a232be5d28fabf0dcbe95d34be0b8f261"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a232be5d28fabf0dcbe95d34be0b8f261"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArSoundsQueue.html#a232be5d28fabf0dcbe95d34be0b8f261">addQueueNonemptyCallback</a> (<a class="el" href="classArFunctor.html">ArFunctor</a> *f)</td></tr>
<tr class="memdesc:a232be5d28fabf0dcbe95d34be0b8f261"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a callback functor to be invoked when a the sound queue becomes non-empty, that is, when a block of sounds/speech utterances begins. <br /></td></tr>
<tr class="separator:a232be5d28fabf0dcbe95d34be0b8f261"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a68d9bc0671d3f787f8617f711a0d1af7"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a68d9bc0671d3f787f8617f711a0d1af7"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArSoundsQueue.html#a68d9bc0671d3f787f8617f711a0d1af7">addSoundFinishedCallback</a> (<a class="el" href="classArFunctor.html">ArFunctor</a> *f)</td></tr>
<tr class="memdesc:a68d9bc0671d3f787f8617f711a0d1af7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a callback functor to be invoked when plackback of one sound or speech utterance finishes. <br /></td></tr>
<tr class="separator:a68d9bc0671d3f787f8617f711a0d1af7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2038f24f788d02d3ac75a0698bbd5524"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2038f24f788d02d3ac75a0698bbd5524"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArSoundsQueue.html#a2038f24f788d02d3ac75a0698bbd5524">addSoundItemFinishedCallback</a> (<a class="el" href="classArFunctor1.html">ArFunctor1</a>&lt; <a class="el" href="classArSoundsQueue_1_1Item.html">ArSoundsQueue::Item</a> &gt; *f)</td></tr>
<tr class="memdesc:a2038f24f788d02d3ac75a0698bbd5524"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a callback functor to be invoked when plackback of one sound or speech utterance finishes. <br /></td></tr>
<tr class="separator:a2038f24f788d02d3ac75a0698bbd5524"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7d48d0786f170123a6f2b5e1f3a9fb1e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArSoundsQueue.html#a7d48d0786f170123a6f2b5e1f3a9fb1e">addSoundItemStartedCallback</a> (<a class="el" href="classArFunctor1.html">ArFunctor1</a>&lt; <a class="el" href="classArSoundsQueue_1_1Item.html">ArSoundsQueue::Item</a> &gt; *f)</td></tr>
<tr class="memdesc:a7d48d0786f170123a6f2b5e1f3a9fb1e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a callback functor to be invoked when playback of one sound or speech utterance starts.  <a href="#a7d48d0786f170123a6f2b5e1f3a9fb1e">More...</a><br /></td></tr>
<tr class="separator:a7d48d0786f170123a6f2b5e1f3a9fb1e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a85fb4eba5fbdc2dedbedc135d93f462f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArSoundsQueue.html#a85fb4eba5fbdc2dedbedc135d93f462f">addSoundStartedCallback</a> (<a class="el" href="classArFunctor.html">ArFunctor</a> *f)</td></tr>
<tr class="memdesc:a85fb4eba5fbdc2dedbedc135d93f462f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a callback functor to be invoked when playback of one sound or speech utterance starts.  <a href="#a85fb4eba5fbdc2dedbedc135d93f462f">More...</a><br /></td></tr>
<tr class="separator:a85fb4eba5fbdc2dedbedc135d93f462f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a33befc3feee15be660f082f4db9624b0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a33befc3feee15be660f082f4db9624b0"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArSoundsQueue.html#a33befc3feee15be660f082f4db9624b0">ArSoundsQueue</a> ()</td></tr>
<tr class="memdesc:a33befc3feee15be660f082f4db9624b0"><td class="mdescLeft">&#160;</td><td class="mdescRight">INTERNAL_CLASSES. <br /></td></tr>
<tr class="separator:a33befc3feee15be660f082f4db9624b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6a89210de3f17c8e247297d08457e271"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArSoundsQueue.html#a6a89210de3f17c8e247297d08457e271">ArSoundsQueue</a> (<a class="el" href="classArRetFunctor.html">ArRetFunctor</a>&lt; bool &gt; *speakInitCB, <a class="el" href="classArSoundsQueue.html#a1670bc04bab708282683f9862d822eeb">PlayItemFunctor</a> *speakCB=0, <a class="el" href="classArFunctor.html">InterruptItemFunctor</a> *interruptSpeechCB=0, <a class="el" href="classArRetFunctor.html">ArRetFunctor</a>&lt; bool &gt; *playInitCB=0, <a class="el" href="classArSoundsQueue.html#a1670bc04bab708282683f9862d822eeb">PlayItemFunctor</a> *playFileCB=0, <a class="el" href="classArFunctor.html">InterruptItemFunctor</a> *interruptFileCB=0)</td></tr>
<tr class="separator:a6a89210de3f17c8e247297d08457e271"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a40cc3dc2fa1806e7ddabe2c570e0420a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArSoundsQueue.html#a40cc3dc2fa1806e7ddabe2c570e0420a">ArSoundsQueue</a> (<a class="el" href="classArSpeechSynth.html">ArSpeechSynth</a> *speechSynthesizer, <a class="el" href="classArRetFunctor.html">ArRetFunctor</a>&lt; bool &gt; *playInitCB=0, <a class="el" href="classArSoundsQueue.html#a1670bc04bab708282683f9862d822eeb">PlayItemFunctor</a> *playFileCB=0, <a class="el" href="classArFunctor.html">InterruptItemFunctor</a> *interruptFileCB=0)</td></tr>
<tr class="memdesc:a40cc3dc2fa1806e7ddabe2c570e0420a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set default speech and WAV file callbacks for use by the convenience methods <a class="el" href="classArSoundsQueue.html#a65a547b34c10f1cdf17c358e117e3eae" title="Add text string item to the queue for speech synthesis. ">speak()</a> and <a class="el" href="classArSoundsQueue.html#a77f50ee7d294994b84a834bd307b634f" title="Add a sound file to the queue for default sound file playback. ">play()</a>.  <a href="#a40cc3dc2fa1806e7ddabe2c570e0420a">More...</a><br /></td></tr>
<tr class="separator:a40cc3dc2fa1806e7ddabe2c570e0420a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2e5eb64d85322adf020091d66cfe2cf1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArSoundsQueue.html#a2e5eb64d85322adf020091d66cfe2cf1">clearQueue</a> ()</td></tr>
<tr class="memdesc:a2e5eb64d85322adf020091d66cfe2cf1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Empty the queue.  <a href="#a2e5eb64d85322adf020091d66cfe2cf1">More...</a><br /></td></tr>
<tr class="separator:a2e5eb64d85322adf020091d66cfe2cf1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a28221738a1ef4f7039f76d52307327c6"><td class="memItemLeft" align="right" valign="top">std::set&lt; int &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArSoundsQueue.html#a28221738a1ef4f7039f76d52307327c6">findPendingItems</a> (const char *item)</td></tr>
<tr class="memdesc:a28221738a1ef4f7039f76d52307327c6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Find items waiting in the queue.  <a href="#a28221738a1ef4f7039f76d52307327c6">More...</a><br /></td></tr>
<tr class="separator:a28221738a1ef4f7039f76d52307327c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1503e852fae705e109a83ad8820f9fee"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1503e852fae705e109a83ad8820f9fee"></a>
size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArSoundsQueue.html#a1503e852fae705e109a83ad8820f9fee">getCurrentQueueSize</a> ()</td></tr>
<tr class="memdesc:a1503e852fae705e109a83ad8820f9fee"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the current size of the speech/sound playback queue. <br /></td></tr>
<tr class="separator:a1503e852fae705e109a83ad8820f9fee"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5b15062bcdc03bff79cdc28bd5fe9581"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classArFunctor.html">ArFunctor</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArSoundsQueue.html#a5b15062bcdc03bff79cdc28bd5fe9581">getPauseCallback</a> ()</td></tr>
<tr class="memdesc:a5b15062bcdc03bff79cdc28bd5fe9581"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create and return a new a functor for <a class="el" href="classArSoundsQueue.html#a7d27d8572c1db27e136a85ae15152d51" title="Temporarily stop processing the sounds queue. ">pause()</a>, which other modules can use to pause this sounds queue.  <a href="#a5b15062bcdc03bff79cdc28bd5fe9581">More...</a><br /></td></tr>
<tr class="separator:a5b15062bcdc03bff79cdc28bd5fe9581"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5d9dee85707655370dfa11e2f9860b5c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classArFunctor.html">ArFunctor</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArSoundsQueue.html#a5d9dee85707655370dfa11e2f9860b5c">getResumeCallback</a> ()</td></tr>
<tr class="memdesc:a5d9dee85707655370dfa11e2f9860b5c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create and return a new functor for <a class="el" href="classArSoundsQueue.html#a2299817c9725d01073f92f06c0faf18d" title="Resume processing the sounds queue. ">resume()</a>, which other modules can use to resume this sounds queue.  <a href="#a5d9dee85707655370dfa11e2f9860b5c">More...</a><br /></td></tr>
<tr class="separator:a5d9dee85707655370dfa11e2f9860b5c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0a24a9edf0dabfe72ff46a61ebced3a2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0a24a9edf0dabfe72ff46a61ebced3a2"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArSoundsQueue.html#a0a24a9edf0dabfe72ff46a61ebced3a2">interrupt</a> ()</td></tr>
<tr class="memdesc:a0a24a9edf0dabfe72ff46a61ebced3a2"><td class="mdescLeft">&#160;</td><td class="mdescRight">If sound is currently being played or speech is being spoken, interrupt it. (but continue processing the queue). SoundFinished callbacks will not be called. <br /></td></tr>
<tr class="separator:a0a24a9edf0dabfe72ff46a61ebced3a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1e2489199dbbe6718e2866c5fdc692ab"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1e2489199dbbe6718e2866c5fdc692ab"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArSoundsQueue.html#a1e2489199dbbe6718e2866c5fdc692ab">isInitialized</a> ()</td></tr>
<tr class="memdesc:a1e2489199dbbe6718e2866c5fdc692ab"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return true if all initialization callbacks have completed, false otherwise. <br /></td></tr>
<tr class="separator:a1e2489199dbbe6718e2866c5fdc692ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a55feaa97933ebf630f1373de06853684"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArSoundsQueue.html#a55feaa97933ebf630f1373de06853684">isPaused</a> ()</td></tr>
<tr class="separator:a55feaa97933ebf630f1373de06853684"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae75d363d5ff3da705f0c4f8d8c52dea8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae75d363d5ff3da705f0c4f8d8c52dea8"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArSoundsQueue.html#ae75d363d5ff3da705f0c4f8d8c52dea8">isPlaying</a> ()</td></tr>
<tr class="memdesc:ae75d363d5ff3da705f0c4f8d8c52dea8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if an item is currently being played. <br /></td></tr>
<tr class="separator:ae75d363d5ff3da705f0c4f8d8c52dea8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af363056a2dce60d77a05f5b6d9405fc1"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArSoundsQueue.html#af363056a2dce60d77a05f5b6d9405fc1">isSpeaking</a> ()</td></tr>
<tr class="separator:af363056a2dce60d77a05f5b6d9405fc1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad57523266a4e9a42fe62270bb7ae0c46"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArSoundsQueue.html#ad57523266a4e9a42fe62270bb7ae0c46">isSpeakingOrPlaying</a> (void)</td></tr>
<tr class="separator:ad57523266a4e9a42fe62270bb7ae0c46"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af4f2e204d4771a21fc9379b646d164e3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af4f2e204d4771a21fc9379b646d164e3"></a>
std::string&#160;</td><td class="memItemRight" valign="bottom"><b>nextItem</b> (<a class="el" href="classArSoundsQueue.html#adcaafc197f106de866c854ce3f9f468a">ItemType</a> type)</td></tr>
<tr class="separator:af4f2e204d4771a21fc9379b646d164e3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a207d1bccb23d99260905937e4b39596b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a207d1bccb23d99260905937e4b39596b"></a>
std::string&#160;</td><td class="memItemRight" valign="bottom"><b>nextItem</b> (int priority)</td></tr>
<tr class="separator:a207d1bccb23d99260905937e4b39596b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afd44135e75dedc016e968fad92635442"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afd44135e75dedc016e968fad92635442"></a>
std::string&#160;</td><td class="memItemRight" valign="bottom"><b>nextItem</b> (<a class="el" href="classArSoundsQueue.html#adcaafc197f106de866c854ce3f9f468a">ItemType</a> type, int priority)</td></tr>
<tr class="separator:afd44135e75dedc016e968fad92635442"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7d27d8572c1db27e136a85ae15152d51"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArSoundsQueue.html#a7d27d8572c1db27e136a85ae15152d51">pause</a> ()</td></tr>
<tr class="memdesc:a7d27d8572c1db27e136a85ae15152d51"><td class="mdescLeft">&#160;</td><td class="mdescRight">Temporarily stop processing the sounds queue.  <a href="#a7d27d8572c1db27e136a85ae15152d51">More...</a><br /></td></tr>
<tr class="separator:a7d27d8572c1db27e136a85ae15152d51"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8dbfd54803ecece0933506b725709ad3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArSoundsQueue.html#a8dbfd54803ecece0933506b725709ad3">removeItems</a> (int priority)</td></tr>
<tr class="memdesc:a8dbfd54803ecece0933506b725709ad3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove pending and current items with a priority less than that given.  <a href="#a8dbfd54803ecece0933506b725709ad3">More...</a><br /></td></tr>
<tr class="separator:a8dbfd54803ecece0933506b725709ad3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a503420a62c94b3ea91c640966a97ac56"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a503420a62c94b3ea91c640966a97ac56"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArSoundsQueue.html#a503420a62c94b3ea91c640966a97ac56">removeItems</a> (<a class="el" href="classArSoundsQueue_1_1Item.html">Item</a> item)</td></tr>
<tr class="memdesc:a503420a62c94b3ea91c640966a97ac56"><td class="mdescLeft">&#160;</td><td class="mdescRight">Removes pending and current items with the same data and type as the given item. <br /></td></tr>
<tr class="separator:a503420a62c94b3ea91c640966a97ac56"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2e8e700c60788cd59136a4c6af84d57b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArSoundsQueue.html#a2e8e700c60788cd59136a4c6af84d57b">removePendingItems</a> (const char *item, <a class="el" href="classArSoundsQueue.html#adcaafc197f106de866c854ce3f9f468a">ItemType</a> type)</td></tr>
<tr class="memdesc:a2e8e700c60788cd59136a4c6af84d57b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove pending items with the given data and type.  <a href="#a2e8e700c60788cd59136a4c6af84d57b">More...</a><br /></td></tr>
<tr class="separator:a2e8e700c60788cd59136a4c6af84d57b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5931b53f0a1d7d3eb23c1287ec0e7165"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArSoundsQueue.html#a5931b53f0a1d7d3eb23c1287ec0e7165">removePendingItems</a> (const char *data)</td></tr>
<tr class="memdesc:a5931b53f0a1d7d3eb23c1287ec0e7165"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove pending items with the given data.  <a href="#a5931b53f0a1d7d3eb23c1287ec0e7165">More...</a><br /></td></tr>
<tr class="separator:a5931b53f0a1d7d3eb23c1287ec0e7165"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af73e62046198c9e1f61889c99f1088ea"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArSoundsQueue.html#af73e62046198c9e1f61889c99f1088ea">removePendingItems</a> (int priority)</td></tr>
<tr class="memdesc:af73e62046198c9e1f61889c99f1088ea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove pending items with a priority less than that given.  <a href="#af73e62046198c9e1f61889c99f1088ea">More...</a><br /></td></tr>
<tr class="separator:af73e62046198c9e1f61889c99f1088ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3277bb7cc2bd3137801f82d47ea19930"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArSoundsQueue.html#a3277bb7cc2bd3137801f82d47ea19930">removePendingItems</a> (int priority, <a class="el" href="classArSoundsQueue.html#adcaafc197f106de866c854ce3f9f468a">ItemType</a> type)</td></tr>
<tr class="memdesc:a3277bb7cc2bd3137801f82d47ea19930"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove pending items with priority less the given priority and with the given type.  <a href="#a3277bb7cc2bd3137801f82d47ea19930">More...</a><br /></td></tr>
<tr class="separator:a3277bb7cc2bd3137801f82d47ea19930"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa0fdc8c534530efd9491f771ff791296"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArSoundsQueue.html#aa0fdc8c534530efd9491f771ff791296">removePendingItems</a> (<a class="el" href="classArSoundsQueue.html#adcaafc197f106de866c854ce3f9f468a">ItemType</a> type)</td></tr>
<tr class="memdesc:aa0fdc8c534530efd9491f771ff791296"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove pending items with the given type.  <a href="#aa0fdc8c534530efd9491f771ff791296">More...</a><br /></td></tr>
<tr class="separator:aa0fdc8c534530efd9491f771ff791296"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab1769747e24872f9a819aa9421a791c7"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab1769747e24872f9a819aa9421a791c7"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArSoundsQueue.html#ab1769747e24872f9a819aa9421a791c7">remQueueEmptyCallback</a> (<a class="el" href="classArFunctor.html">ArFunctor</a> *f)</td></tr>
<tr class="memdesc:ab1769747e24872f9a819aa9421a791c7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove a functor added by <a class="el" href="classArSoundsQueue.html#abbc9d407d6e76c6a58bd1fc52941fb71" title="Add a callback functor to be invoked when the sound queue becomes empty and the last sound has finish...">addQueueEmptyCallback()</a> <br /></td></tr>
<tr class="separator:ab1769747e24872f9a819aa9421a791c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac1f05e67c5bbd38ff45f9295e8056a66"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArSoundsQueue.html#ac1f05e67c5bbd38ff45f9295e8056a66">remQueueNonemptyCallback</a> (<a class="el" href="classArFunctor.html">ArFunctor</a> *f)</td></tr>
<tr class="memdesc:ac1f05e67c5bbd38ff45f9295e8056a66"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove a functor added by <a class="el" href="classArSoundsQueue.html#a232be5d28fabf0dcbe95d34be0b8f261" title="Add a callback functor to be invoked when a the sound queue becomes non-empty, that is...">addQueueNonemptyCallback()</a>.  <a href="#ac1f05e67c5bbd38ff45f9295e8056a66">More...</a><br /></td></tr>
<tr class="separator:ac1f05e67c5bbd38ff45f9295e8056a66"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a322f135e5a5c7e16fa9e508f159d623d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArSoundsQueue.html#a322f135e5a5c7e16fa9e508f159d623d">remSoundFinishedCallback</a> (<a class="el" href="classArFunctor.html">ArFunctor</a> *f)</td></tr>
<tr class="memdesc:a322f135e5a5c7e16fa9e508f159d623d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove a callback functor to be invoked when plackback of one sound or speech utterance finishes.  <a href="#a322f135e5a5c7e16fa9e508f159d623d">More...</a><br /></td></tr>
<tr class="separator:a322f135e5a5c7e16fa9e508f159d623d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3d0dce13c79766bea2decb16d4637e11"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArSoundsQueue.html#a3d0dce13c79766bea2decb16d4637e11">remSoundItemFinishedCallback</a> (<a class="el" href="classArFunctor1.html">ArFunctor1</a>&lt; <a class="el" href="classArSoundsQueue_1_1Item.html">ArSoundsQueue::Item</a> &gt; *f)</td></tr>
<tr class="memdesc:a3d0dce13c79766bea2decb16d4637e11"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove a callback functor to be invoked when plackback of one sound or speech utterance finishes.  <a href="#a3d0dce13c79766bea2decb16d4637e11">More...</a><br /></td></tr>
<tr class="separator:a3d0dce13c79766bea2decb16d4637e11"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a55550a8c4bc8eca1a5168e217ea7fdf6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArSoundsQueue.html#a55550a8c4bc8eca1a5168e217ea7fdf6">remSoundItemStartedCallback</a> (<a class="el" href="classArFunctor1.html">ArFunctor1</a>&lt; <a class="el" href="classArSoundsQueue_1_1Item.html">ArSoundsQueue::Item</a> &gt; *f)</td></tr>
<tr class="memdesc:a55550a8c4bc8eca1a5168e217ea7fdf6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove a callback functor to be invoked when playback one sound or speech utterance starts.  <a href="#a55550a8c4bc8eca1a5168e217ea7fdf6">More...</a><br /></td></tr>
<tr class="separator:a55550a8c4bc8eca1a5168e217ea7fdf6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2daac01ca272697d1871722ec625fd6f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArSoundsQueue.html#a2daac01ca272697d1871722ec625fd6f">remSoundStartedCallback</a> (<a class="el" href="classArFunctor.html">ArFunctor</a> *f)</td></tr>
<tr class="memdesc:a2daac01ca272697d1871722ec625fd6f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove a callback functor to be invoked when playback one sound or speech utterance starts.  <a href="#a2daac01ca272697d1871722ec625fd6f">More...</a><br /></td></tr>
<tr class="separator:a2daac01ca272697d1871722ec625fd6f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2299817c9725d01073f92f06c0faf18d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2299817c9725d01073f92f06c0faf18d"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArSoundsQueue.html#a2299817c9725d01073f92f06c0faf18d">resume</a> ()</td></tr>
<tr class="memdesc:a2299817c9725d01073f92f06c0faf18d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Resume processing the sounds queue. <br /></td></tr>
<tr class="separator:a2299817c9725d01073f92f06c0faf18d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a54193dc40439db31fcb9ffc705e178d9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a54193dc40439db31fcb9ffc705e178d9"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArSoundsQueue.html#a54193dc40439db31fcb9ffc705e178d9">run</a> (void)</td></tr>
<tr class="memdesc:a54193dc40439db31fcb9ffc705e178d9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Begin processing the sounds queue synchronously (in this thread; does not return) <br /></td></tr>
<tr class="separator:a54193dc40439db31fcb9ffc705e178d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad8f9600dba4c91cfc0418a011bf3f165"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad8f9600dba4c91cfc0418a011bf3f165"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArSoundsQueue.html#ad8f9600dba4c91cfc0418a011bf3f165">runAsync</a> (void)</td></tr>
<tr class="memdesc:ad8f9600dba4c91cfc0418a011bf3f165"><td class="mdescLeft">&#160;</td><td class="mdescRight">Begin processing the sounds queue in a background thread. <br /></td></tr>
<tr class="separator:ad8f9600dba4c91cfc0418a011bf3f165"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4e144903349cc79d5920930fad114073"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4e144903349cc79d5920930fad114073"></a>
virtual void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArSoundsQueue.html#a4e144903349cc79d5920930fad114073">runThread</a> (void *arg)</td></tr>
<tr class="memdesc:a4e144903349cc79d5920930fad114073"><td class="mdescLeft">&#160;</td><td class="mdescRight">main function for thread <br /></td></tr>
<tr class="separator:a4e144903349cc79d5920930fad114073"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a07d2ea90ac91f64bf5c2752993c56e36"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArSoundsQueue.html#a07d2ea90ac91f64bf5c2752993c56e36">setDefaultPlayConditionCB</a> (<a class="el" href="classArSoundsQueue.html#a831d244f0f9f5740c58131e4cd663050">PlaybackConditionFunctor</a> *f)</td></tr>
<tr class="memdesc:a07d2ea90ac91f64bf5c2752993c56e36"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set a playback condition functor used for default speech and sound file items.  <a href="#a07d2ea90ac91f64bf5c2752993c56e36">More...</a><br /></td></tr>
<tr class="separator:a07d2ea90ac91f64bf5c2752993c56e36"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeb079ae1ff36f347dbe3e9514fb93535"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArSoundsQueue.html#aeb079ae1ff36f347dbe3e9514fb93535">setSpeakInitCallback</a> (<a class="el" href="classArRetFunctor.html">ArRetFunctor</a>&lt; bool &gt; *cb)</td></tr>
<tr class="separator:aeb079ae1ff36f347dbe3e9514fb93535"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4ae132843ebaa7291a21063c582bdf8f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArSoundsQueue.html#a4ae132843ebaa7291a21063c582bdf8f">stop</a> ()</td></tr>
<tr class="memdesc:a4ae132843ebaa7291a21063c582bdf8f"><td class="mdescLeft">&#160;</td><td class="mdescRight">End the processing thread.  <a href="#a4ae132843ebaa7291a21063c582bdf8f">More...</a><br /></td></tr>
<tr class="separator:a4ae132843ebaa7291a21063c582bdf8f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
<tr class="memitem:aeb709e73f5927b3281f407ecd7dd212b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArSoundsQueue.html#aeb709e73f5927b3281f407ecd7dd212b">setSpeakCallback</a> (<a class="el" href="classArSoundsQueue.html#a1670bc04bab708282683f9862d822eeb">PlayItemFunctor</a> *cb)</td></tr>
<tr class="memdesc:aeb709e73f5927b3281f407ecd7dd212b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convenience methods for special speech synthesis and WAV file queue items:  <a href="#aeb709e73f5927b3281f407ecd7dd212b">More...</a><br /></td></tr>
<tr class="separator:aeb709e73f5927b3281f407ecd7dd212b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a09923f7689ae9e483663894ec2e9b4e6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArSoundsQueue.html#a09923f7689ae9e483663894ec2e9b4e6">setInterruptSpeechCallback</a> (<a class="el" href="classArFunctor.html">InterruptItemFunctor</a> *cb)</td></tr>
<tr class="memdesc:a09923f7689ae9e483663894ec2e9b4e6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the "default" callback to interrupt a current speech utterance, used by <a class="el" href="classArSoundsQueue.html#a65a547b34c10f1cdf17c358e117e3eae" title="Add text string item to the queue for speech synthesis. ">speak()</a>  <a href="#a09923f7689ae9e483663894ec2e9b4e6">More...</a><br /></td></tr>
<tr class="separator:a09923f7689ae9e483663894ec2e9b4e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af115f8c8d3eb099ac82b5cc2923b1b8b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArSoundsQueue.html#af115f8c8d3eb099ac82b5cc2923b1b8b">setPlayFileCallback</a> (<a class="el" href="classArSoundsQueue.html#a1670bc04bab708282683f9862d822eeb">PlayItemFunctor</a> *cb)</td></tr>
<tr class="memdesc:af115f8c8d3eb099ac82b5cc2923b1b8b"><td class="mdescLeft">&#160;</td><td class="mdescRight">As a convenience, you may set a "default" WAV file playback callback, and then simply use the <a class="el" href="classArSoundsQueue.html#a77f50ee7d294994b84a834bd307b634f" title="Add a sound file to the queue for default sound file playback. ">play()</a> method to add the file to the queue with this callback.  <a href="#af115f8c8d3eb099ac82b5cc2923b1b8b">More...</a><br /></td></tr>
<tr class="separator:af115f8c8d3eb099ac82b5cc2923b1b8b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7a91b153f0bcf9705d9ab18091d32fe0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArSoundsQueue.html#a7a91b153f0bcf9705d9ab18091d32fe0">setPlayWavFileCallback</a> (<a class="el" href="classArSoundsQueue.html#a1670bc04bab708282683f9862d822eeb">PlayItemFunctor</a> *cb)</td></tr>
<tr class="separator:a7a91b153f0bcf9705d9ab18091d32fe0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2181959096769f7a8d00ce780b814396"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArSoundsQueue.html#a2181959096769f7a8d00ce780b814396">setInterruptFileCallback</a> (<a class="el" href="classArFunctor.html">InterruptItemFunctor</a> *cb)</td></tr>
<tr class="memdesc:a2181959096769f7a8d00ce780b814396"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the "default" callback to interrupt current wav file playback, for use by the <a class="el" href="classArSoundsQueue.html#a77f50ee7d294994b84a834bd307b634f" title="Add a sound file to the queue for default sound file playback. ">play()</a> convenience method.  <a href="#a2181959096769f7a8d00ce780b814396">More...</a><br /></td></tr>
<tr class="separator:a2181959096769f7a8d00ce780b814396"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a18a4ee9aaa952188792551ee9af2c2ae"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArSoundsQueue.html#a18a4ee9aaa952188792551ee9af2c2ae">setInterruptWavFileCallback</a> (<a class="el" href="classArFunctor.html">InterruptItemFunctor</a> *cb)</td></tr>
<tr class="separator:a18a4ee9aaa952188792551ee9af2c2ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a65a547b34c10f1cdf17c358e117e3eae"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArSoundsQueue.html#a65a547b34c10f1cdf17c358e117e3eae">speak</a> (const char *str)</td></tr>
<tr class="memdesc:a65a547b34c10f1cdf17c358e117e3eae"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add text string item to the queue for speech synthesis.  <a href="#a65a547b34c10f1cdf17c358e117e3eae">More...</a><br /></td></tr>
<tr class="separator:a65a547b34c10f1cdf17c358e117e3eae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a77f50ee7d294994b84a834bd307b634f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArSoundsQueue.html#a77f50ee7d294994b84a834bd307b634f">play</a> (const char *filename)</td></tr>
<tr class="memdesc:a77f50ee7d294994b84a834bd307b634f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a sound file to the queue for default sound file playback.  <a href="#a77f50ee7d294994b84a834bd307b634f">More...</a><br /></td></tr>
<tr class="separator:a77f50ee7d294994b84a834bd307b634f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5f72642e4acd76679f9203bd4d46cd0d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArSoundsQueue.html#a5f72642e4acd76679f9203bd4d46cd0d">speakf</a> (const char *fmt,...)</td></tr>
<tr class="memdesc:a5f72642e4acd76679f9203bd4d46cd0d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a formatted text string (like printf) to the queue configured for default speech synthesis.  <a href="#a5f72642e4acd76679f9203bd4d46cd0d">More...</a><br /></td></tr>
<tr class="separator:a5f72642e4acd76679f9203bd4d46cd0d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab9bf50330d8e348a52b2a14d3b1fe2a8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArSoundsQueue.html#ab9bf50330d8e348a52b2a14d3b1fe2a8">speakWithVoice</a> (const char *voice, const char *fmt,...)</td></tr>
<tr class="memdesc:ab9bf50330d8e348a52b2a14d3b1fe2a8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Speak with alternate voice.  <a href="#ab9bf50330d8e348a52b2a14d3b1fe2a8">More...</a><br /></td></tr>
<tr class="separator:ab9bf50330d8e348a52b2a14d3b1fe2a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4c489a2653ca45a5fa937da299000fd5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArSoundsQueue.html#a4c489a2653ca45a5fa937da299000fd5">speakWithPriority</a> (int priority, const char *fmt,...)</td></tr>
<tr class="memdesc:a4c489a2653ca45a5fa937da299000fd5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Speak with alternate priority.  <a href="#a4c489a2653ca45a5fa937da299000fd5">More...</a><br /></td></tr>
<tr class="separator:a4c489a2653ca45a5fa937da299000fd5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5b97efa31bddb3244178f9f30921df48"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArSoundsQueue.html#a5b97efa31bddb3244178f9f30921df48">playf</a> (const char *filename_fmt,...)</td></tr>
<tr class="memdesc:a5b97efa31bddb3244178f9f30921df48"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a sound file to the queue for default sound file playback.  <a href="#a5b97efa31bddb3244178f9f30921df48">More...</a><br /></td></tr>
<tr class="separator:a5b97efa31bddb3244178f9f30921df48"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aee79f7bde5107dce8cc5f1ddce600c00"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classArSoundsQueue_1_1Item.html">ArSoundsQueue::Item</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArSoundsQueue.html#aee79f7bde5107dce8cc5f1ddce600c00">createDefaultSpeechItem</a> (const char *speech=0)</td></tr>
<tr class="memdesc:aee79f7bde5107dce8cc5f1ddce600c00"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return an item set up for speech with previously set default speech callbacks.  <a href="#aee79f7bde5107dce8cc5f1ddce600c00">More...</a><br /></td></tr>
<tr class="separator:aee79f7bde5107dce8cc5f1ddce600c00"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8a91d3b696ae76124ca0bd836bcc6136"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classArSoundsQueue_1_1Item.html">ArSoundsQueue::Item</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArSoundsQueue.html#a8a91d3b696ae76124ca0bd836bcc6136">createDefaultFileItem</a> (const char *filename=0)</td></tr>
<tr class="memdesc:a8a91d3b696ae76124ca0bd836bcc6136"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return an item set up for sound file playback with previously set default play callbacks.  <a href="#a8a91d3b696ae76124ca0bd836bcc6136">More...</a><br /></td></tr>
<tr class="separator:a8a91d3b696ae76124ca0bd836bcc6136"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classArASyncTask"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classArASyncTask')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classArASyncTask.html">ArASyncTask</a></td></tr>
<tr class="memitem:a2f8d322b93edf16edd3253692e130480 inherit pub_methods_classArASyncTask"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2f8d322b93edf16edd3253692e130480"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArASyncTask.html#a2f8d322b93edf16edd3253692e130480">ArASyncTask</a> ()</td></tr>
<tr class="memdesc:a2f8d322b93edf16edd3253692e130480 inherit pub_methods_classArASyncTask"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor. <br /></td></tr>
<tr class="separator:a2f8d322b93edf16edd3253692e130480 inherit pub_methods_classArASyncTask"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1219f8fc48adfc07ab59ea414585c479 inherit pub_methods_classArASyncTask"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1219f8fc48adfc07ab59ea414585c479"></a>
virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArASyncTask.html#a1219f8fc48adfc07ab59ea414585c479">create</a> (bool joinable=true, bool lowerPriority=true)</td></tr>
<tr class="memdesc:a1219f8fc48adfc07ab59ea414585c479 inherit pub_methods_classArASyncTask"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create the task and start it going. <br /></td></tr>
<tr class="separator:a1219f8fc48adfc07ab59ea414585c479 inherit pub_methods_classArASyncTask"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acd6307214f0bfdcd9f1c89664b2a7ad1 inherit pub_methods_classArASyncTask"><td class="memItemLeft" align="right" valign="top">virtual const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArASyncTask.html#acd6307214f0bfdcd9f1c89664b2a7ad1">getThreadActivity</a> (void)</td></tr>
<tr class="memdesc:acd6307214f0bfdcd9f1c89664b2a7ad1 inherit pub_methods_classArASyncTask"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets a string that describes what the thread is doing, or NULL if it doesn't know.  <a href="#acd6307214f0bfdcd9f1c89664b2a7ad1">More...</a><br /></td></tr>
<tr class="separator:acd6307214f0bfdcd9f1c89664b2a7ad1 inherit pub_methods_classArASyncTask"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab1b9692583669e973fcb70fe843e556f inherit pub_methods_classArASyncTask"><td class="memItemLeft" align="right" valign="top">virtual void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArASyncTask.html#ab1b9692583669e973fcb70fe843e556f">runInThisThread</a> (void *arg=0)</td></tr>
<tr class="memdesc:ab1b9692583669e973fcb70fe843e556f inherit pub_methods_classArASyncTask"><td class="mdescLeft">&#160;</td><td class="mdescRight">Internal function used with system threading system to run the new thread.  <a href="#ab1b9692583669e973fcb70fe843e556f">More...</a><br /></td></tr>
<tr class="separator:ab1b9692583669e973fcb70fe843e556f inherit pub_methods_classArASyncTask"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adb6a00c292ff5aa6e8db8cd9d33747ac inherit pub_methods_classArASyncTask"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adb6a00c292ff5aa6e8db8cd9d33747ac"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArASyncTask.html#adb6a00c292ff5aa6e8db8cd9d33747ac">stopRunning</a> (void)</td></tr>
<tr class="memdesc:adb6a00c292ff5aa6e8db8cd9d33747ac inherit pub_methods_classArASyncTask"><td class="mdescLeft">&#160;</td><td class="mdescRight">Stop the thread. <br /></td></tr>
<tr class="separator:adb6a00c292ff5aa6e8db8cd9d33747ac inherit pub_methods_classArASyncTask"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9a7a9aafc788b3a03fbaf71a87e1ee44 inherit pub_methods_classArASyncTask"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9a7a9aafc788b3a03fbaf71a87e1ee44"></a>
virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArASyncTask.html#a9a7a9aafc788b3a03fbaf71a87e1ee44">~ArASyncTask</a> ()</td></tr>
<tr class="memdesc:a9a7a9aafc788b3a03fbaf71a87e1ee44 inherit pub_methods_classArASyncTask"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor. <br /></td></tr>
<tr class="separator:a9a7a9aafc788b3a03fbaf71a87e1ee44 inherit pub_methods_classArASyncTask"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classArThread"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classArThread')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classArThread.html">ArThread</a></td></tr>
<tr class="memitem:af6646fdb41042a80a0d54c778d1af3d9 inherit pub_methods_classArThread"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af6646fdb41042a80a0d54c778d1af3d9"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArThread.html#af6646fdb41042a80a0d54c778d1af3d9">ArThread</a> (bool blockAllSignals=true)</td></tr>
<tr class="memdesc:af6646fdb41042a80a0d54c778d1af3d9 inherit pub_methods_classArThread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor. <br /></td></tr>
<tr class="separator:af6646fdb41042a80a0d54c778d1af3d9 inherit pub_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aff21160d49a502bfc018d0e2126959aa inherit pub_methods_classArThread"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aff21160d49a502bfc018d0e2126959aa"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArThread.html#aff21160d49a502bfc018d0e2126959aa">ArThread</a> (ThreadType thread, bool joinable, bool blockAllSignals=true)</td></tr>
<tr class="memdesc:aff21160d49a502bfc018d0e2126959aa inherit pub_methods_classArThread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor - starts the thread. <br /></td></tr>
<tr class="separator:aff21160d49a502bfc018d0e2126959aa inherit pub_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a08068bcc611a53074d8999a5622f2289 inherit pub_methods_classArThread"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a08068bcc611a53074d8999a5622f2289"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArThread.html#a08068bcc611a53074d8999a5622f2289">ArThread</a> (<a class="el" href="classArFunctor.html">ArFunctor</a> *func, bool joinable=true, bool blockAllSignals=true)</td></tr>
<tr class="memdesc:a08068bcc611a53074d8999a5622f2289 inherit pub_methods_classArThread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor - starts the thread. <br /></td></tr>
<tr class="separator:a08068bcc611a53074d8999a5622f2289 inherit pub_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9f5c6ddc088c46736ce2e698a5ae3050 inherit pub_methods_classArThread"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9f5c6ddc088c46736ce2e698a5ae3050"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArThread.html#a9f5c6ddc088c46736ce2e698a5ae3050">cancel</a> (void)</td></tr>
<tr class="memdesc:a9f5c6ddc088c46736ce2e698a5ae3050 inherit pub_methods_classArThread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Cancel the thread. <br /></td></tr>
<tr class="separator:a9f5c6ddc088c46736ce2e698a5ae3050 inherit pub_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a70f8c5e5a01c432f8e5722487b11b9aa inherit pub_methods_classArThread"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a70f8c5e5a01c432f8e5722487b11b9aa"></a>
virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArThread.html#a70f8c5e5a01c432f8e5722487b11b9aa">detach</a> (void)</td></tr>
<tr class="memdesc:a70f8c5e5a01c432f8e5722487b11b9aa inherit pub_methods_classArThread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Detatch the thread so it cant be joined. <br /></td></tr>
<tr class="separator:a70f8c5e5a01c432f8e5722487b11b9aa inherit pub_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa8dc1c54a7c07dc2affdef031a74833e inherit pub_methods_classArThread"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa8dc1c54a7c07dc2affdef031a74833e"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArThread.html#aa8dc1c54a7c07dc2affdef031a74833e">getBlockAllSignals</a> (void)</td></tr>
<tr class="memdesc:aa8dc1c54a7c07dc2affdef031a74833e inherit pub_methods_classArThread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Do we block all process signals at startup? <br /></td></tr>
<tr class="separator:aa8dc1c54a7c07dc2affdef031a74833e inherit pub_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acb7ba63e4e43e85f47ff9429de88c599 inherit pub_methods_classArThread"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acb7ba63e4e43e85f47ff9429de88c599"></a>
virtual <a class="el" href="classArFunctor.html">ArFunctor</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArThread.html#acb7ba63e4e43e85f47ff9429de88c599">getFunc</a> (void) const </td></tr>
<tr class="memdesc:acb7ba63e4e43e85f47ff9429de88c599 inherit pub_methods_classArThread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the functor that the thread runs. <br /></td></tr>
<tr class="separator:acb7ba63e4e43e85f47ff9429de88c599 inherit pub_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a48d0856b755e8950d820d71fd097fb0d inherit pub_methods_classArThread"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a48d0856b755e8950d820d71fd097fb0d"></a>
virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArThread.html#a48d0856b755e8950d820d71fd097fb0d">getJoinable</a> (void) const </td></tr>
<tr class="memdesc:a48d0856b755e8950d820d71fd097fb0d inherit pub_methods_classArThread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the joinable status of the thread. <br /></td></tr>
<tr class="separator:a48d0856b755e8950d820d71fd097fb0d inherit pub_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad57f4235fd1f9092f55aaec52a57068f inherit pub_methods_classArThread"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad57f4235fd1f9092f55aaec52a57068f"></a>
virtual ThreadType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArThread.html#ad57f4235fd1f9092f55aaec52a57068f">getOSThread</a> (void) const </td></tr>
<tr class="memdesc:ad57f4235fd1f9092f55aaec52a57068f inherit pub_methods_classArThread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the underlying os thread type. <br /></td></tr>
<tr class="separator:ad57f4235fd1f9092f55aaec52a57068f inherit pub_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2f9451e6bcebcd4524d86d88732047b5 inherit pub_methods_classArThread"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2f9451e6bcebcd4524d86d88732047b5"></a>
pid_t&#160;</td><td class="memItemRight" valign="bottom"><b>getPID</b> (void)</td></tr>
<tr class="separator:a2f9451e6bcebcd4524d86d88732047b5 inherit pub_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a544461d5afc9a1f1d50398ef06f55743 inherit pub_methods_classArThread"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a544461d5afc9a1f1d50398ef06f55743"></a>
virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArThread.html#a544461d5afc9a1f1d50398ef06f55743">getRunning</a> (void) const </td></tr>
<tr class="memdesc:a544461d5afc9a1f1d50398ef06f55743 inherit pub_methods_classArThread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the running status of the thread. <br /></td></tr>
<tr class="separator:a544461d5afc9a1f1d50398ef06f55743 inherit pub_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a05333f5f05022f42ab46a6dd8a8f1958 inherit pub_methods_classArThread"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a05333f5f05022f42ab46a6dd8a8f1958"></a>
virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArThread.html#a05333f5f05022f42ab46a6dd8a8f1958">getRunningWithLock</a> (void)</td></tr>
<tr class="memdesc:a05333f5f05022f42ab46a6dd8a8f1958 inherit pub_methods_classArThread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the running status of the thread, locking around the variable. <br /></td></tr>
<tr class="separator:a05333f5f05022f42ab46a6dd8a8f1958 inherit pub_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1f17f4a7f59d8e14399e03ee405380be inherit pub_methods_classArThread"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1f17f4a7f59d8e14399e03ee405380be"></a>
virtual const ThreadType *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArThread.html#a1f17f4a7f59d8e14399e03ee405380be">getThread</a> (void) const </td></tr>
<tr class="memdesc:a1f17f4a7f59d8e14399e03ee405380be inherit pub_methods_classArThread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the underlying thread type. <br /></td></tr>
<tr class="separator:a1f17f4a7f59d8e14399e03ee405380be inherit pub_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af3c3543b2749dccd4e94e96fad418780 inherit pub_methods_classArThread"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af3c3543b2749dccd4e94e96fad418780"></a>
virtual const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArThread.html#af3c3543b2749dccd4e94e96fad418780">getThreadName</a> (void)</td></tr>
<tr class="memdesc:af3c3543b2749dccd4e94e96fad418780 inherit pub_methods_classArThread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the name of the thread. <br /></td></tr>
<tr class="separator:af3c3543b2749dccd4e94e96fad418780 inherit pub_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2220d1f5e5701a6666038cc4754b7c50 inherit pub_methods_classArThread"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2220d1f5e5701a6666038cc4754b7c50"></a>
pid_t&#160;</td><td class="memItemRight" valign="bottom"><b>getTID</b> (void)</td></tr>
<tr class="separator:a2220d1f5e5701a6666038cc4754b7c50 inherit pub_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af5868982670b17f27aab0bbbf0749cb6 inherit pub_methods_classArThread"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArThread.html#af5868982670b17f27aab0bbbf0749cb6">isThreadFinished</a> () const </td></tr>
<tr class="memdesc:af5868982670b17f27aab0bbbf0749cb6 inherit pub_methods_classArThread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns whether the thread has been completed and can be deleted.  <a href="#af5868982670b17f27aab0bbbf0749cb6">More...</a><br /></td></tr>
<tr class="separator:af5868982670b17f27aab0bbbf0749cb6 inherit pub_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a38dd0b805242f8144e14c0662eeee37c inherit pub_methods_classArThread"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArThread.html#a38dd0b805242f8144e14c0662eeee37c">isThreadStarted</a> () const </td></tr>
<tr class="memdesc:a38dd0b805242f8144e14c0662eeee37c inherit pub_methods_classArThread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns whether the thread has been started.  <a href="#a38dd0b805242f8144e14c0662eeee37c">More...</a><br /></td></tr>
<tr class="separator:a38dd0b805242f8144e14c0662eeee37c inherit pub_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab07c2ba39f6c537889db203d36291dd0 inherit pub_methods_classArThread"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab07c2ba39f6c537889db203d36291dd0"></a>
virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArThread.html#ab07c2ba39f6c537889db203d36291dd0">join</a> (void **ret=NULL)</td></tr>
<tr class="memdesc:ab07c2ba39f6c537889db203d36291dd0 inherit pub_methods_classArThread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Join on the thread. <br /></td></tr>
<tr class="separator:ab07c2ba39f6c537889db203d36291dd0 inherit pub_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0fa936e087d49e5151cb3cc1358ae1ce inherit pub_methods_classArThread"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArThread.html#a0fa936e087d49e5151cb3cc1358ae1ce">lock</a> (void)</td></tr>
<tr class="memdesc:a0fa936e087d49e5151cb3cc1358ae1ce inherit pub_methods_classArThread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Lock the thread instance.  <a href="#a0fa936e087d49e5151cb3cc1358ae1ce">More...</a><br /></td></tr>
<tr class="separator:a0fa936e087d49e5151cb3cc1358ae1ce inherit pub_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac971ee8ad4b23a5d87e6f0db02062cde inherit pub_methods_classArThread"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac971ee8ad4b23a5d87e6f0db02062cde"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArThread.html#ac971ee8ad4b23a5d87e6f0db02062cde">logThreadInfo</a> (void)</td></tr>
<tr class="memdesc:ac971ee8ad4b23a5d87e6f0db02062cde inherit pub_methods_classArThread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Logs the information about this thread. <br /></td></tr>
<tr class="separator:ac971ee8ad4b23a5d87e6f0db02062cde inherit pub_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6eb9bbbff1f1494a4218be4551c28073 inherit pub_methods_classArThread"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6eb9bbbff1f1494a4218be4551c28073"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArThread.html#a6eb9bbbff1f1494a4218be4551c28073">setRunning</a> (bool running)</td></tr>
<tr class="memdesc:a6eb9bbbff1f1494a4218be4551c28073 inherit pub_methods_classArThread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the running value on the thread. <br /></td></tr>
<tr class="separator:a6eb9bbbff1f1494a4218be4551c28073 inherit pub_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af03075fb22fbfca1212d524f772f6c1c inherit pub_methods_classArThread"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af03075fb22fbfca1212d524f772f6c1c"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArThread.html#af03075fb22fbfca1212d524f772f6c1c">setThreadName</a> (const char *name)</td></tr>
<tr class="memdesc:af03075fb22fbfca1212d524f772f6c1c inherit pub_methods_classArThread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the name of the thread. <br /></td></tr>
<tr class="separator:af03075fb22fbfca1212d524f772f6c1c inherit pub_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a718af06ca33f467f714a46f059e2455b inherit pub_methods_classArThread"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArThread.html#a718af06ca33f467f714a46f059e2455b">threadFinished</a> (void)</td></tr>
<tr class="memdesc:a718af06ca33f467f714a46f059e2455b inherit pub_methods_classArThread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Marks the thread as finished and logs useful debugging information.  <a href="#a718af06ca33f467f714a46f059e2455b">More...</a><br /></td></tr>
<tr class="separator:a718af06ca33f467f714a46f059e2455b inherit pub_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2cec8be019396610a5ba10b6ffcd819e inherit pub_methods_classArThread"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArThread.html#a2cec8be019396610a5ba10b6ffcd819e">threadStarted</a> (void)</td></tr>
<tr class="memdesc:a2cec8be019396610a5ba10b6ffcd819e inherit pub_methods_classArThread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Marks the thread as started and logs useful debugging information.  <a href="#a2cec8be019396610a5ba10b6ffcd819e">More...</a><br /></td></tr>
<tr class="separator:a2cec8be019396610a5ba10b6ffcd819e inherit pub_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeefc89261e7760985b91566029fc9c6c inherit pub_methods_classArThread"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArThread.html#aeefc89261e7760985b91566029fc9c6c">tryLock</a> (void)</td></tr>
<tr class="memdesc:aeefc89261e7760985b91566029fc9c6c inherit pub_methods_classArThread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Try to lock the thread instance without blocking.  <a href="#aeefc89261e7760985b91566029fc9c6c">More...</a><br /></td></tr>
<tr class="separator:aeefc89261e7760985b91566029fc9c6c inherit pub_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa95ba7294af22e4be13215f39de61b38 inherit pub_methods_classArThread"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArThread.html#aa95ba7294af22e4be13215f39de61b38">unlock</a> (void)</td></tr>
<tr class="memdesc:aa95ba7294af22e4be13215f39de61b38 inherit pub_methods_classArThread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Unlock the thread instance.  <a href="#aa95ba7294af22e4be13215f39de61b38">More...</a><br /></td></tr>
<tr class="separator:aa95ba7294af22e4be13215f39de61b38 inherit pub_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a02c1f44d7adb2b9524f0fc410158b554 inherit pub_methods_classArThread"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a02c1f44d7adb2b9524f0fc410158b554"></a>
virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArThread.html#a02c1f44d7adb2b9524f0fc410158b554">~ArThread</a> ()</td></tr>
<tr class="memdesc:a02c1f44d7adb2b9524f0fc410158b554 inherit pub_methods_classArThread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor. <br /></td></tr>
<tr class="separator:a02c1f44d7adb2b9524f0fc410158b554 inherit pub_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:a7f1823cd9a08fd65117258d9f85e3575"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7f1823cd9a08fd65117258d9f85e3575"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArSoundsQueue.html#a7f1823cd9a08fd65117258d9f85e3575">invokeCallbacks</a> (const std::list&lt; <a class="el" href="classArFunctor.html">ArFunctor</a> * &gt; &amp;lst)</td></tr>
<tr class="memdesc:a7f1823cd9a08fd65117258d9f85e3575"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invoke each functor in a list. <br /></td></tr>
<tr class="separator:a7f1823cd9a08fd65117258d9f85e3575"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afc3d3e79a6dfb49157acac74da0ca47a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afc3d3e79a6dfb49157acac74da0ca47a"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArSoundsQueue.html#afc3d3e79a6dfb49157acac74da0ca47a">invokeCallbacks</a> (const std::list&lt; <a class="el" href="classArRetFunctor.html">ArRetFunctor</a>&lt; bool &gt; * &gt; &amp;lst)</td></tr>
<tr class="memdesc:afc3d3e79a6dfb49157acac74da0ca47a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invoke each functor in a list, but stop if any of them return false. <br /></td></tr>
<tr class="separator:afc3d3e79a6dfb49157acac74da0ca47a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abab3cb6681dac8991d7ba7f3efeb1f20"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abab3cb6681dac8991d7ba7f3efeb1f20"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>lock</b> ()</td></tr>
<tr class="separator:abab3cb6681dac8991d7ba7f3efeb1f20"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ada6b8171abbf27c38d26841903a42a79"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ada6b8171abbf27c38d26841903a42a79"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>tryLock</b> ()</td></tr>
<tr class="separator:ada6b8171abbf27c38d26841903a42a79"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2c889578f55f0f8a900069bfcbdd1e0b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2c889578f55f0f8a900069bfcbdd1e0b"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>unlock</b> ()</td></tr>
<tr class="separator:a2c889578f55f0f8a900069bfcbdd1e0b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
<tr class="memitem:aaba4198bc8ea0cd25ee1cfbb67961c7c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArSoundsQueue.html#aaba4198bc8ea0cd25ee1cfbb67961c7c">pushQueueItem</a> (<a class="el" href="classArSoundsQueue_1_1Item.html">Item</a> item)</td></tr>
<tr class="memdesc:aaba4198bc8ea0cd25ee1cfbb67961c7c"><td class="mdescLeft">&#160;</td><td class="mdescRight">push item onto queue  <a href="#aaba4198bc8ea0cd25ee1cfbb67961c7c">More...</a><br /></td></tr>
<tr class="separator:aaba4198bc8ea0cd25ee1cfbb67961c7c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af0591e6926ad235934fee6e2565e0759"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af0591e6926ad235934fee6e2565e0759"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>pushQueueItem_NoLock</b> (<a class="el" href="classArSoundsQueue_1_1Item.html">Item</a> item)</td></tr>
<tr class="separator:af0591e6926ad235934fee6e2565e0759"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
<tr class="memitem:a11a47aae1f799440cd93800e24dd2322"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a11a47aae1f799440cd93800e24dd2322"></a>
<a class="el" href="classArSoundsQueue_1_1Item.html">Item</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArSoundsQueue.html#a11a47aae1f799440cd93800e24dd2322">popQueueItem</a> ()</td></tr>
<tr class="memdesc:a11a47aae1f799440cd93800e24dd2322"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pop item from queue and return it. <br /></td></tr>
<tr class="separator:a11a47aae1f799440cd93800e24dd2322"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aacbab85f2d31d064bbda78e2efec847a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aacbab85f2d31d064bbda78e2efec847a"></a>
<a class="el" href="classArSoundsQueue_1_1Item.html">Item</a>&#160;</td><td class="memItemRight" valign="bottom"><b>popQueueItem_NoLock</b> ()</td></tr>
<tr class="separator:aacbab85f2d31d064bbda78e2efec847a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_methods_classArThread"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_classArThread')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="classArThread.html">ArThread</a></td></tr>
<tr class="memitem:a01417ec8ea06ff5900c6d9352ee02416 inherit pro_methods_classArThread"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a01417ec8ea06ff5900c6d9352ee02416"></a>
virtual int&#160;</td><td class="memItemRight" valign="bottom"><b>doJoin</b> (void **ret=NULL)</td></tr>
<tr class="separator:a01417ec8ea06ff5900c6d9352ee02416 inherit pro_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr class="memitem:abb56a1af5cce9559a466a0ed702476b9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abb56a1af5cce9559a466a0ed702476b9"></a>
<a class="el" href="classArSoundsQueue.html#a831d244f0f9f5740c58131e4cd663050">PlaybackConditionFunctor</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArSoundsQueue.html#abb56a1af5cce9559a466a0ed702476b9">myDefaultPlayConditionCB</a></td></tr>
<tr class="memdesc:abb56a1af5cce9559a466a0ed702476b9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Used when creating default configured speech and sound file items. <br /></td></tr>
<tr class="separator:abb56a1af5cce9559a466a0ed702476b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac9900dd94501b578d068b651a1f246a9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac9900dd94501b578d068b651a1f246a9"></a>
std::list&lt; <a class="el" href="classArRetFunctor.html">ArRetFunctor</a>&lt; bool &gt; * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArSoundsQueue.html#ac9900dd94501b578d068b651a1f246a9">myInitCallbacks</a></td></tr>
<tr class="memdesc:ac9900dd94501b578d068b651a1f246a9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Functors to invoke when we start running in our thread. <br /></td></tr>
<tr class="separator:ac9900dd94501b578d068b651a1f246a9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a528a3fdd5f74fdba155f1d2dee9ef3f4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a528a3fdd5f74fdba155f1d2dee9ef3f4"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>myInitialized</b></td></tr>
<tr class="separator:a528a3fdd5f74fdba155f1d2dee9ef3f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac60cd137f23477e39c8f6883a7719643"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac60cd137f23477e39c8f6883a7719643"></a>
<a class="el" href="classArSoundsQueue_1_1Item.html">Item</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArSoundsQueue.html#ac60cd137f23477e39c8f6883a7719643">myLastItem</a></td></tr>
<tr class="memdesc:ac60cd137f23477e39c8f6883a7719643"><td class="mdescLeft">&#160;</td><td class="mdescRight">The current or most recent item played. <br /></td></tr>
<tr class="separator:ac60cd137f23477e39c8f6883a7719643"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ace52c3bc956024acca2fd5cdfbd67c79"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ace52c3bc956024acca2fd5cdfbd67c79"></a>
<a class="el" href="classArCondition.html">ArCondition</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArSoundsQueue.html#ace52c3bc956024acca2fd5cdfbd67c79">myPausedCondition</a></td></tr>
<tr class="memdesc:ace52c3bc956024acca2fd5cdfbd67c79"><td class="mdescLeft">&#160;</td><td class="mdescRight">Condition variable used by the thread to pause. <br /></td></tr>
<tr class="separator:ace52c3bc956024acca2fd5cdfbd67c79"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4984c867bc3ccf0e272a353ad1b25473"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4984c867bc3ccf0e272a353ad1b25473"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArSoundsQueue.html#a4984c867bc3ccf0e272a353ad1b25473">myPauseRequestCount</a></td></tr>
<tr class="memdesc:a4984c867bc3ccf0e272a353ad1b25473"><td class="mdescLeft">&#160;</td><td class="mdescRight">Semaphore for doing pausing and resuming of the queue. <br /></td></tr>
<tr class="separator:a4984c867bc3ccf0e272a353ad1b25473"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad43a43942563c82c0426bea3741c3674"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad43a43942563c82c0426bea3741c3674"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>myPlayingSomething</b></td></tr>
<tr class="separator:ad43a43942563c82c0426bea3741c3674"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aac932fbe4f350f9522649f1b7e9d6999"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aac932fbe4f350f9522649f1b7e9d6999"></a>
std::list&lt; <a class="el" href="classArSoundsQueue_1_1Item.html">Item</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>myQueue</b></td></tr>
<tr class="separator:aac932fbe4f350f9522649f1b7e9d6999"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8b7a5e833bc8e952f2dcb4a8c5d79654"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8b7a5e833bc8e952f2dcb4a8c5d79654"></a>
<a class="el" href="classArMutex.html">ArMutex</a>&#160;</td><td class="memItemRight" valign="bottom"><b>myQueueMutex</b></td></tr>
<tr class="separator:a8b7a5e833bc8e952f2dcb4a8c5d79654"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
<tr class="memitem:a87629c2c64b1ed76a0832cc4d6382b60"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a87629c2c64b1ed76a0832cc4d6382b60"></a>
<a class="el" href="classArSoundsQueue.html#a1670bc04bab708282683f9862d822eeb">PlayItemFunctor</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArSoundsQueue.html#a87629c2c64b1ed76a0832cc4d6382b60">myDefaultSpeakCB</a></td></tr>
<tr class="memdesc:a87629c2c64b1ed76a0832cc4d6382b60"><td class="mdescLeft">&#160;</td><td class="mdescRight">Used by <a class="el" href="classArSoundsQueue.html#a65a547b34c10f1cdf17c358e117e3eae" title="Add text string item to the queue for speech synthesis. ">speak()</a> and <a class="el" href="classArSoundsQueue.html#a77f50ee7d294994b84a834bd307b634f" title="Add a sound file to the queue for default sound file playback. ">play()</a> convenience methods: <br /></td></tr>
<tr class="separator:a87629c2c64b1ed76a0832cc4d6382b60"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abbb2b304c3e9a0fa1282ced2634c55f6"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abbb2b304c3e9a0fa1282ced2634c55f6"></a>
<a class="el" href="classArFunctor.html">InterruptItemFunctor</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>myDefaultInterruptSpeechCB</b></td></tr>
<tr class="separator:abbb2b304c3e9a0fa1282ced2634c55f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3a7ebc22714ab8fa70254ce9921893d4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3a7ebc22714ab8fa70254ce9921893d4"></a>
<a class="el" href="classArSoundsQueue.html#a1670bc04bab708282683f9862d822eeb">PlayItemFunctor</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>myDefaultPlayFileCB</b></td></tr>
<tr class="separator:a3a7ebc22714ab8fa70254ce9921893d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acb03da8670cf346dcf9dcdd08932503d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acb03da8670cf346dcf9dcdd08932503d"></a>
<a class="el" href="classArFunctor.html">InterruptItemFunctor</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>myDefaultInterruptFileCB</b></td></tr>
<tr class="separator:acb03da8670cf346dcf9dcdd08932503d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
<tr class="memitem:a908338f644774319d883c74e04ce8d8e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a908338f644774319d883c74e04ce8d8e"></a>
std::list&lt; <a class="el" href="classArFunctor.html">ArFunctor</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArSoundsQueue.html#a908338f644774319d883c74e04ce8d8e">myStartPlaybackCBList</a></td></tr>
<tr class="memdesc:a908338f644774319d883c74e04ce8d8e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Functors to invoke during queue processing. <br /></td></tr>
<tr class="separator:a908338f644774319d883c74e04ce8d8e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1e41a7fb7a3f405889b107187e15b1c6"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1e41a7fb7a3f405889b107187e15b1c6"></a>
std::list&lt; <a class="el" href="classArFunctor.html">ArFunctor</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>myEndPlaybackCBList</b></td></tr>
<tr class="separator:a1e41a7fb7a3f405889b107187e15b1c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abaebe8d04bf63c718f3c6d6a72bbc13e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abaebe8d04bf63c718f3c6d6a72bbc13e"></a>
std::list&lt; <a class="el" href="classArFunctor1.html">ArFunctor1</a>&lt; <a class="el" href="classArSoundsQueue_1_1Item.html">ArSoundsQueue::Item</a> &gt; * &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>myStartItemPlaybackCBList</b></td></tr>
<tr class="separator:abaebe8d04bf63c718f3c6d6a72bbc13e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab82e94d70dbda80901ad57dd8dad7a22"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab82e94d70dbda80901ad57dd8dad7a22"></a>
std::list&lt; <a class="el" href="classArFunctor1.html">ArFunctor1</a>&lt; <a class="el" href="classArSoundsQueue_1_1Item.html">ArSoundsQueue::Item</a> &gt; * &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>myEndItemPlaybackCBList</b></td></tr>
<tr class="separator:ab82e94d70dbda80901ad57dd8dad7a22"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab61fa1e93e2a93f6073a6aa62a1cb3ad"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab61fa1e93e2a93f6073a6aa62a1cb3ad"></a>
std::list&lt; <a class="el" href="classArFunctor.html">ArFunctor</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>myQueueNonemptyCallbacks</b></td></tr>
<tr class="separator:ab61fa1e93e2a93f6073a6aa62a1cb3ad"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a12a046b2b48676223cb4d312eaf6ee05"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a12a046b2b48676223cb4d312eaf6ee05"></a>
std::list&lt; <a class="el" href="classArFunctor.html">ArFunctor</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>myQueueEmptyCallbacks</b></td></tr>
<tr class="separator:a12a046b2b48676223cb4d312eaf6ee05"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_attribs_classArThread"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_classArThread')"><img src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="classArThread.html">ArThread</a></td></tr>
<tr class="memitem:a0e275487e7a34da90f8892b0721cf655 inherit pro_attribs_classArThread"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0e275487e7a34da90f8892b0721cf655"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>myBlockAllSignals</b></td></tr>
<tr class="separator:a0e275487e7a34da90f8892b0721cf655 inherit pro_attribs_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af35bf7a94a72403c0cbc6918a590f86a inherit pro_attribs_classArThread"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af35bf7a94a72403c0cbc6918a590f86a"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>myFinished</b></td></tr>
<tr class="separator:af35bf7a94a72403c0cbc6918a590f86a inherit pro_attribs_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4eaadf53f9bba14c32f3177614de6ca3 inherit pro_attribs_classArThread"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4eaadf53f9bba14c32f3177614de6ca3"></a>
<a class="el" href="classArFunctor.html">ArFunctor</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>myFunc</b></td></tr>
<tr class="separator:a4eaadf53f9bba14c32f3177614de6ca3 inherit pro_attribs_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab998c835c88b28b61dc0f5107d3e0483 inherit pro_attribs_classArThread"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab998c835c88b28b61dc0f5107d3e0483"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>myJoinable</b></td></tr>
<tr class="separator:ab998c835c88b28b61dc0f5107d3e0483 inherit pro_attribs_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a69d1428b50c56e69015cfc1d284f5fb7 inherit pro_attribs_classArThread"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a69d1428b50c56e69015cfc1d284f5fb7"></a>
<a class="el" href="classArMutex.html">ArMutex</a>&#160;</td><td class="memItemRight" valign="bottom"><b>myMutex</b></td></tr>
<tr class="separator:a69d1428b50c56e69015cfc1d284f5fb7 inherit pro_attribs_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4c992b566d1c1dcd6bfce0a588db5688 inherit pro_attribs_classArThread"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4c992b566d1c1dcd6bfce0a588db5688"></a>
std::string&#160;</td><td class="memItemRight" valign="bottom"><b>myName</b></td></tr>
<tr class="separator:a4c992b566d1c1dcd6bfce0a588db5688 inherit pro_attribs_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0c388a8efddf62beabc20dd3a019ed30 inherit pro_attribs_classArThread"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0c388a8efddf62beabc20dd3a019ed30"></a>
pid_t&#160;</td><td class="memItemRight" valign="bottom"><b>myPID</b></td></tr>
<tr class="separator:a0c388a8efddf62beabc20dd3a019ed30 inherit pro_attribs_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a38947d1e811cabefda057a5da123539a inherit pro_attribs_classArThread"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a38947d1e811cabefda057a5da123539a"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArThread.html#a38947d1e811cabefda057a5da123539a">myRunning</a></td></tr>
<tr class="memdesc:a38947d1e811cabefda057a5da123539a inherit pro_attribs_classArThread"><td class="mdescLeft">&#160;</td><td class="mdescRight">State variable to denote when the thread should continue or exit. <br /></td></tr>
<tr class="separator:a38947d1e811cabefda057a5da123539a inherit pro_attribs_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7f96c03101c5d3f2424dd57c43c74a4c inherit pro_attribs_classArThread"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7f96c03101c5d3f2424dd57c43c74a4c"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>myStarted</b></td></tr>
<tr class="separator:a7f96c03101c5d3f2424dd57c43c74a4c inherit pro_attribs_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a867abc48de1096405bbace35401bdf21 inherit pro_attribs_classArThread"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a867abc48de1096405bbace35401bdf21"></a>
ArStrMap&#160;</td><td class="memItemRight" valign="bottom"><b>myStrMap</b></td></tr>
<tr class="separator:a867abc48de1096405bbace35401bdf21 inherit pro_attribs_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8c75dfe1dba30260f27056233d478416 inherit pro_attribs_classArThread"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8c75dfe1dba30260f27056233d478416"></a>
ThreadType&#160;</td><td class="memItemRight" valign="bottom"><b>myThread</b></td></tr>
<tr class="separator:a8c75dfe1dba30260f27056233d478416 inherit pro_attribs_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a73ab8444b3e050d647780063ff739b23 inherit pro_attribs_classArThread"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a73ab8444b3e050d647780063ff739b23"></a>
pid_t&#160;</td><td class="memItemRight" valign="bottom"><b>myTID</b></td></tr>
<tr class="separator:a73ab8444b3e050d647780063ff739b23 inherit pro_attribs_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
Additional Inherited Members</h2></td></tr>
<tr class="inherit_header pub_static_methods_classArThread"><td colspan="2" onclick="javascript:toggleInherit('pub_static_methods_classArThread')"><img src="closed.png" alt="-"/>&#160;Static Public Member Functions inherited from <a class="el" href="classArThread.html">ArThread</a></td></tr>
<tr class="memitem:ae90c377080eb22ecd565617fbde986dc inherit pub_static_methods_classArThread"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae90c377080eb22ecd565617fbde986dc"></a>
static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArThread.html#ae90c377080eb22ecd565617fbde986dc">cancelAll</a> (void)</td></tr>
<tr class="memdesc:ae90c377080eb22ecd565617fbde986dc inherit pub_static_methods_classArThread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Cancel all threads. <br /></td></tr>
<tr class="separator:ae90c377080eb22ecd565617fbde986dc inherit pub_static_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae730b583d5a313dd2d0b28a55b831e10 inherit pub_static_methods_classArThread"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae730b583d5a313dd2d0b28a55b831e10"></a>
static <a class="el" href="classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3">ArLog::LogLevel</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArThread.html#ae730b583d5a313dd2d0b28a55b831e10">getLogLevel</a> (void)</td></tr>
<tr class="memdesc:ae730b583d5a313dd2d0b28a55b831e10 inherit pub_static_methods_classArThread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the logging level for thread information. <br /></td></tr>
<tr class="separator:ae730b583d5a313dd2d0b28a55b831e10 inherit pub_static_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3f22bf6798bbb1f559d0fcb2dd340fe1 inherit pub_static_methods_classArThread"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3f22bf6798bbb1f559d0fcb2dd340fe1"></a>
static ThreadType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArThread.html#a3f22bf6798bbb1f559d0fcb2dd340fe1">getThisOSThread</a> (void)</td></tr>
<tr class="memdesc:a3f22bf6798bbb1f559d0fcb2dd340fe1 inherit pub_static_methods_classArThread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the underlying os thread type of this thread. <br /></td></tr>
<tr class="separator:a3f22bf6798bbb1f559d0fcb2dd340fe1 inherit pub_static_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5f07974eaa1f04b40e7e29281063ae32 inherit pub_static_methods_classArThread"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5f07974eaa1f04b40e7e29281063ae32"></a>
static const ThreadType *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArThread.html#a5f07974eaa1f04b40e7e29281063ae32">getThisThread</a> (void)</td></tr>
<tr class="memdesc:a5f07974eaa1f04b40e7e29281063ae32 inherit pub_static_methods_classArThread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the underlying thread type of this thread. <br /></td></tr>
<tr class="separator:a5f07974eaa1f04b40e7e29281063ae32 inherit pub_static_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2070e4319d8a11cb025fbeb0fdb36ade inherit pub_static_methods_classArThread"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2070e4319d8a11cb025fbeb0fdb36ade"></a>
static const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArThread.html#a2070e4319d8a11cb025fbeb0fdb36ade">getThisThreadName</a> (void)</td></tr>
<tr class="memdesc:a2070e4319d8a11cb025fbeb0fdb36ade inherit pub_static_methods_classArThread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the name of the this thread. <br /></td></tr>
<tr class="separator:a2070e4319d8a11cb025fbeb0fdb36ade inherit pub_static_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a602608b819fd0d206ece3e7108e897c1 inherit pub_static_methods_classArThread"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArThread.html#a602608b819fd0d206ece3e7108e897c1">init</a> (void)</td></tr>
<tr class="memdesc:a602608b819fd0d206ece3e7108e897c1 inherit pub_static_methods_classArThread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialize the internal book keeping structures.  <a href="#a602608b819fd0d206ece3e7108e897c1">More...</a><br /></td></tr>
<tr class="separator:a602608b819fd0d206ece3e7108e897c1 inherit pub_static_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a669ea48142e11e67465cd389be8608db inherit pub_static_methods_classArThread"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a669ea48142e11e67465cd389be8608db"></a>
static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArThread.html#a669ea48142e11e67465cd389be8608db">joinAll</a> (void)</td></tr>
<tr class="memdesc:a669ea48142e11e67465cd389be8608db inherit pub_static_methods_classArThread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Join on all threads. <br /></td></tr>
<tr class="separator:a669ea48142e11e67465cd389be8608db inherit pub_static_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3deec9c656a29d1a9f33dc52ca05afa9 inherit pub_static_methods_classArThread"><td class="memItemLeft" align="right" valign="top">static ThreadType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArThread.html#a3deec9c656a29d1a9f33dc52ca05afa9">osSelf</a> (void)</td></tr>
<tr class="memdesc:a3deec9c656a29d1a9f33dc52ca05afa9 inherit pub_static_methods_classArThread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the os self of the current thread.  <a href="#a3deec9c656a29d1a9f33dc52ca05afa9">More...</a><br /></td></tr>
<tr class="separator:a3deec9c656a29d1a9f33dc52ca05afa9 inherit pub_static_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a94f5c62be5ea634a63645b09d24618ea inherit pub_static_methods_classArThread"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classArThread.html">ArThread</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArThread.html#a94f5c62be5ea634a63645b09d24618ea">self</a> (void)</td></tr>
<tr class="memdesc:a94f5c62be5ea634a63645b09d24618ea inherit pub_static_methods_classArThread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the instance of your own thread (the current one)  <a href="#a94f5c62be5ea634a63645b09d24618ea">More...</a><br /></td></tr>
<tr class="separator:a94f5c62be5ea634a63645b09d24618ea inherit pub_static_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa8bdbdb6a182a26b083577d341d73025 inherit pub_static_methods_classArThread"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa8bdbdb6a182a26b083577d341d73025"></a>
static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArThread.html#aa8bdbdb6a182a26b083577d341d73025">setLogLevel</a> (<a class="el" href="classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3">ArLog::LogLevel</a> level)</td></tr>
<tr class="memdesc:aa8bdbdb6a182a26b083577d341d73025 inherit pub_static_methods_classArThread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the logging level for thread information. <br /></td></tr>
<tr class="separator:aa8bdbdb6a182a26b083577d341d73025 inherit pub_static_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adceb0c14e9674056fc637c95142fdfad inherit pub_static_methods_classArThread"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adceb0c14e9674056fc637c95142fdfad"></a>
static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArThread.html#adceb0c14e9674056fc637c95142fdfad">shutdown</a> ()</td></tr>
<tr class="memdesc:adceb0c14e9674056fc637c95142fdfad inherit pub_static_methods_classArThread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Shuts down and deletes the last remaining thread; call after joinAll. <br /></td></tr>
<tr class="separator:adceb0c14e9674056fc637c95142fdfad inherit pub_static_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeed26f3e82c2f329d8b7286b0c59a75d inherit pub_static_methods_classArThread"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aeed26f3e82c2f329d8b7286b0c59a75d"></a>
static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArThread.html#aeed26f3e82c2f329d8b7286b0c59a75d">stopAll</a> ()</td></tr>
<tr class="memdesc:aeed26f3e82c2f329d8b7286b0c59a75d inherit pub_static_methods_classArThread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Stop all threads. <br /></td></tr>
<tr class="separator:aeed26f3e82c2f329d8b7286b0c59a75d inherit pub_static_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a16d8ee7da5d5ebc2540e38ca1ce2eeb2 inherit pub_static_methods_classArThread"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a16d8ee7da5d5ebc2540e38ca1ce2eeb2"></a>
static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArThread.html#a16d8ee7da5d5ebc2540e38ca1ce2eeb2">yieldProcessor</a> (void)</td></tr>
<tr class="memdesc:a16d8ee7da5d5ebc2540e38ca1ce2eeb2 inherit pub_static_methods_classArThread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Yield the processor to another thread. <br /></td></tr>
<tr class="separator:a16d8ee7da5d5ebc2540e38ca1ce2eeb2 inherit pub_static_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_static_methods_classArThread"><td colspan="2" onclick="javascript:toggleInherit('pro_static_methods_classArThread')"><img src="closed.png" alt="-"/>&#160;Static Protected Member Functions inherited from <a class="el" href="classArThread.html">ArThread</a></td></tr>
<tr class="memitem:a5c4c69824b403d537849faa8342355e1 inherit pro_static_methods_classArThread"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5c4c69824b403d537849faa8342355e1"></a>
static void&#160;</td><td class="memItemRight" valign="bottom"><b>addThreadToMap</b> (ThreadType pt, <a class="el" href="classArThread.html">ArThread</a> *at)</td></tr>
<tr class="separator:a5c4c69824b403d537849faa8342355e1 inherit pro_static_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9f94436985a766a42c6abc292281007e inherit pro_static_methods_classArThread"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9f94436985a766a42c6abc292281007e"></a>
static <a class="el" href="classArThread.html">ArThread</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>findThreadInMap</b> (ThreadType t)</td></tr>
<tr class="separator:a9f94436985a766a42c6abc292281007e inherit pro_static_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0aa74e2916e3f9a3f0f00958934b1cd5 inherit pro_static_methods_classArThread"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0aa74e2916e3f9a3f0f00958934b1cd5"></a>
static void&#160;</td><td class="memItemRight" valign="bottom"><b>removeThreadFromMap</b> (ThreadType t)</td></tr>
<tr class="separator:a0aa74e2916e3f9a3f0f00958934b1cd5 inherit pro_static_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_static_attribs_classArThread"><td colspan="2" onclick="javascript:toggleInherit('pro_static_attribs_classArThread')"><img src="closed.png" alt="-"/>&#160;Static Protected Attributes inherited from <a class="el" href="classArThread.html">ArThread</a></td></tr>
<tr class="memitem:a9cc8cb8003899d49b3beebb5d150f5cf inherit pro_static_attribs_classArThread"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9cc8cb8003899d49b3beebb5d150f5cf"></a>
static <a class="el" href="classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3">ArLog::LogLevel</a>&#160;</td><td class="memItemRight" valign="bottom"><b>ourLogLevel</b> = <a class="el" href="classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3a6e80d09c67dad73e9ba736e91ec893be">ArLog::Verbose</a></td></tr>
<tr class="separator:a9cc8cb8003899d49b3beebb5d150f5cf inherit pro_static_attribs_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4b690ee5a0c2f111b2031c400cf4c65f inherit pro_static_attribs_classArThread"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4b690ee5a0c2f111b2031c400cf4c65f"></a>
static MapType&#160;</td><td class="memItemRight" valign="bottom"><b>ourThreads</b></td></tr>
<tr class="separator:a4b690ee5a0c2f111b2031c400cf4c65f inherit pro_static_attribs_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a95b16f66bfa8fe37f668e0a398f534e1 inherit pro_static_attribs_classArThread"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a95b16f66bfa8fe37f668e0a398f534e1"></a>
static <a class="el" href="classArMutex.html">ArMutex</a>&#160;</td><td class="memItemRight" valign="bottom"><b>ourThreadsMutex</b></td></tr>
<tr class="separator:a95b16f66bfa8fe37f668e0a398f534e1 inherit pro_static_attribs_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a633981409f3da565fb68e43205918455 inherit pro_static_attribs_classArThread"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a633981409f3da565fb68e43205918455"></a>
static std::string&#160;</td><td class="memItemRight" valign="bottom"><b>ourUnknownThreadName</b> = &quot;unknown&quot;</td></tr>
<tr class="separator:a633981409f3da565fb68e43205918455 inherit pro_static_attribs_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>This class manages a queue of items to play as WAV files or as text to speak using a speech synthesizer. </p>
<p>The actual playback of sound and speech is done through callbacks (which you can supply in the constructor or afterwards). Some callbacks you can use are provided by classes like <a class="el" href="classArSoundPlayer.html" title="This class provides a cross-platform interface for playing short sound samples. ">ArSoundPlayer</a> (for sound file playback) and ArFestival (from the ArSpeechSynth_Festival library) and ArCepstral (from the ArSpeechSynth_Cepstral librrary) for speech synthesis.</p>
<p>Add sound files to the queue with <a class="el" href="classArSoundsQueue.html#a77f50ee7d294994b84a834bd307b634f" title="Add a sound file to the queue for default sound file playback. ">play()</a>, and text to speak with <a class="el" href="classArSoundsQueue.html#a65a547b34c10f1cdf17c358e117e3eae" title="Add text string item to the queue for speech synthesis. ">speak()</a>. Use <a class="el" href="classArSoundsQueue.html#ad8f9600dba4c91cfc0418a011bf3f165" title="Begin processing the sounds queue in a background thread. ">runAsync()</a> to run the processing thread in the background, or <a class="el" href="classArSoundsQueue.html#a54193dc40439db31fcb9ffc705e178d9" title="Begin processing the sounds queue synchronously (in this thread; does not return) ...">run()</a> to run synchronously in the current thread.</p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classArSoundPlayer.html" title="This class provides a cross-platform interface for playing short sound samples. ">ArSoundPlayer</a> </dd>
<dd>
<a class="el" href="soundsQueueExample_8cpp-example.html">soundsQueueExample.cpp</a> </dd></dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="soundsQueueExample_8cpp-example.html#_a1">soundsQueueExample.cpp</a>.</dd>
</dl></div><h2 class="groupheader">Member Typedef Documentation</h2>
<a class="anchor" id="a1670bc04bab708282683f9862d822eeb"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="classArRetFunctor2.html">ArRetFunctor2</a>&lt;bool, const char*, const char*&gt; <a class="el" href="classArSoundsQueue.html#a1670bc04bab708282683f9862d822eeb">ArSoundsQueue::PlayItemFunctor</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Callback for playing a queue item. </p>
<p>First argument is the "data", second is item type-specific "parameters". Return true to continue processing more callbacks in a list, false to cancel processing. </p>

</div>
</div>
<h2 class="groupheader">Member Enumeration Documentation</h2>
<a class="anchor" id="adcaafc197f106de866c854ce3f9f468a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="classArSoundsQueue.html#adcaafc197f106de866c854ce3f9f468a">ArSoundsQueue::ItemType</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Opaque identifier for the type of an item in the sound queue. </p>
<p>Not used during processing, but may be used to search for items in the queue. </p>

</div>
</div>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a6a89210de3f17c8e247297d08457e271"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">ArSoundsQueue::ArSoundsQueue </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classArRetFunctor.html">ArRetFunctor</a>&lt; bool &gt; *&#160;</td>
          <td class="paramname"><em>speakInitCB</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classArSoundsQueue.html#a1670bc04bab708282683f9862d822eeb">PlayItemFunctor</a> *&#160;</td>
          <td class="paramname"><em>speakCB</em> = <code>0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classArFunctor.html">InterruptItemFunctor</a> *&#160;</td>
          <td class="paramname"><em>interruptSpeechCB</em> = <code>0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classArRetFunctor.html">ArRetFunctor</a>&lt; bool &gt; *&#160;</td>
          <td class="paramname"><em>playInitCB</em> = <code>0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classArSoundsQueue.html#a1670bc04bab708282683f9862d822eeb">PlayItemFunctor</a> *&#160;</td>
          <td class="paramname"><em>playFileCB</em> = <code>0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classArFunctor.html">InterruptItemFunctor</a> *&#160;</td>
          <td class="paramname"><em>interruptFileCB</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000062">Deprecated:</a></b></dt><dd></dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classArSoundsQueue.html#a2989d1e187ad183bf0d26ce2552c9169" title="Add a callback to be called when the sound queue begins to run in its thread. ">addInitCallback()</a> </dd>
<dd>
<a class="el" href="classArSoundsQueue.html#aeb709e73f5927b3281f407ecd7dd212b" title="Convenience methods for special speech synthesis and WAV file queue items: ">setSpeakCallback()</a> </dd>
<dd>
<a class="el" href="classArSoundsQueue.html#a09923f7689ae9e483663894ec2e9b4e6" title="Set the &quot;default&quot; callback to interrupt a current speech utterance, used by speak() ...">setInterruptSpeechCallback()</a> </dd>
<dd>
<a class="el" href="classArSoundsQueue.html#af115f8c8d3eb099ac82b5cc2923b1b8b" title="As a convenience, you may set a &quot;default&quot; WAV file playback callback, and then simply use the play() ...">setPlayFileCallback</a> </dd>
<dd>
<a class="el" href="classArSoundsQueue.html#a2181959096769f7a8d00ce780b814396" title="Set the &quot;default&quot; callback to interrupt current wav file playback, for use by the play() convenience ...">setInterruptFileCallback</a> </dd></dl>

</div>
</div>
<a class="anchor" id="a40cc3dc2fa1806e7ddabe2c570e0420a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">ArSoundsQueue::ArSoundsQueue </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classArSpeechSynth.html">ArSpeechSynth</a> *&#160;</td>
          <td class="paramname"><em>speechSynthesizer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classArRetFunctor.html">ArRetFunctor</a>&lt; bool &gt; *&#160;</td>
          <td class="paramname"><em>playInitCB</em> = <code>0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classArSoundsQueue.html#a1670bc04bab708282683f9862d822eeb">PlayItemFunctor</a> *&#160;</td>
          <td class="paramname"><em>playFileCB</em> = <code>0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classArFunctor.html">InterruptItemFunctor</a> *&#160;</td>
          <td class="paramname"><em>interruptFileCB</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set default speech and WAV file callbacks for use by the convenience methods <a class="el" href="classArSoundsQueue.html#a65a547b34c10f1cdf17c358e117e3eae" title="Add text string item to the queue for speech synthesis. ">speak()</a> and <a class="el" href="classArSoundsQueue.html#a77f50ee7d294994b84a834bd307b634f" title="Add a sound file to the queue for default sound file playback. ">play()</a>. </p>
<p>Omit the last three arguments to use callbacks into <a class="el" href="classArSoundPlayer.html" title="This class provides a cross-platform interface for playing short sound samples. ">ArSoundPlayer</a>. </p>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a2989d1e187ad183bf0d26ce2552c9169"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ArSoundsQueue::addInitCallback </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classArRetFunctor.html">ArRetFunctor</a>&lt; bool &gt; *&#160;</td>
          <td class="paramname"><em>cb</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Add a callback to be called when the sound queue begins to run in its thread. </p>
<p>(For example, the speech synthesizers must be initialized in the same thread as they are used.) </p>

</div>
</div>
<a class="anchor" id="a6c1813ed5c1b57c77b6f4d3f7c938988"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArSoundsQueue::addItem </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classArSoundsQueue_1_1Item.html">ArSoundsQueue::Item</a>&#160;</td>
          <td class="paramname"><em>item</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Add (a copy of) the given item to the queue. </p>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="soundsQueueExample_8cpp-example.html#a26">soundsQueueExample.cpp</a>.</dd>
</dl>
</div>
</div>
<a class="anchor" id="ac9330db5f43a7080f871516f0ea47089"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArSoundsQueue::addItem </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classArSoundsQueue.html#adcaafc197f106de866c854ce3f9f468a">ItemType</a>&#160;</td>
          <td class="paramname"><em>type</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::list&lt; <a class="el" href="classArSoundsQueue.html#a1670bc04bab708282683f9862d822eeb">PlayItemFunctor</a> * &gt;&#160;</td>
          <td class="paramname"><em>callbacks</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>priority</em> = <code>0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>params</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Create a new queue item with the given data and add to the queue. </p>

</div>
</div>
<a class="anchor" id="abbc9d407d6e76c6a58bd1fc52941fb71"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ArSoundsQueue::addQueueEmptyCallback </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classArFunctor.html">ArFunctor</a> *&#160;</td>
          <td class="paramname"><em>f</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Add a callback functor to be invoked when the sound queue becomes empty and the last sound has finished playing, that is, when a block of sounds/speech utterances ends. </p>
<p>This will not be called when the sound queue first begins running. </p>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="soundsQueueExample_8cpp-example.html#a6">soundsQueueExample.cpp</a>.</dd>
</dl>
</div>
</div>
<a class="anchor" id="a7d48d0786f170123a6f2b5e1f3a9fb1e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ArSoundsQueue::addSoundItemStartedCallback </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classArFunctor1.html">ArFunctor1</a>&lt; <a class="el" href="classArSoundsQueue_1_1Item.html">ArSoundsQueue::Item</a> &gt; *&#160;</td>
          <td class="paramname"><em>f</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Add a callback functor to be invoked when playback of one sound or speech utterance starts. </p>

</div>
</div>
<a class="anchor" id="a85fb4eba5fbdc2dedbedc135d93f462f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ArSoundsQueue::addSoundStartedCallback </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classArFunctor.html">ArFunctor</a> *&#160;</td>
          <td class="paramname"><em>f</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Add a callback functor to be invoked when playback of one sound or speech utterance starts. </p>

</div>
</div>
<a class="anchor" id="a2e5eb64d85322adf020091d66cfe2cf1"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArSoundsQueue::clearQueue </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Empty the queue. </p>
<p>If a sound is currently playing, it will not be interrupted. QueueEmpty callbacks will be called. SoundFinished callbacks will not be called. </p>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="soundsQueueExample_8cpp-example.html#a21">soundsQueueExample.cpp</a>.</dd>
</dl>
</div>
</div>
<a class="anchor" id="a8a91d3b696ae76124ca0bd836bcc6136"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classArSoundsQueue_1_1Item.html">ArSoundsQueue::Item</a> ArSoundsQueue::createDefaultFileItem </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>filename</em> = <code>0</code></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Return an item set up for sound file playback with previously set default play callbacks. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">filename</td><td>Filename to set (optional) </td></tr>
  </table>
  </dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classArSoundsQueue.html#af115f8c8d3eb099ac82b5cc2923b1b8b" title="As a convenience, you may set a &quot;default&quot; WAV file playback callback, and then simply use the play() ...">setPlayFileCallback()</a> </dd>
<dd>
<a class="el" href="classArSoundsQueue.html#a6c1813ed5c1b57c77b6f4d3f7c938988" title="Add (a copy of) the given item to the queue. ">addItem()</a> </dd></dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="soundsQueueExample_8cpp-example.html#a24">soundsQueueExample.cpp</a>.</dd>
</dl>
</div>
</div>
<a class="anchor" id="aee79f7bde5107dce8cc5f1ddce600c00"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classArSoundsQueue_1_1Item.html">ArSoundsQueue::Item</a> ArSoundsQueue::createDefaultSpeechItem </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>speech</em> = <code>0</code></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Return an item set up for speech with previously set default speech callbacks. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">speech</td><td>Text to speak (optional) </td></tr>
  </table>
  </dd>
</dl>
<dl class="section see"><dt>See also</dt><dd>setSpeechCallback() </dd>
<dd>
<a class="el" href="classArSoundsQueue.html#a6c1813ed5c1b57c77b6f4d3f7c938988" title="Add (a copy of) the given item to the queue. ">addItem()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="a28221738a1ef4f7039f76d52307327c6"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">set&lt; int &gt; ArSoundsQueue::findPendingItems </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>item</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Find items waiting in the queue. </p>
<p>This is mainly useful in finding speech text. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">item</td><td><a class="el" href="classArSoundsQueue_1_1Item.html" title="A sound item in the queue, with callbacks for dealing with the item and the data to pass to those cal...">Item</a> to search for. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A set of positions in the queue. 1 indicates the next sound that will play, followed by 2, etc. </dd></dl>
<dl class="section note"><dt>Note</dt><dd>You have a potential race condition if an item is removed from the queue after this method returns, but before you on the information returned. For best results, pause the sound queue while using this information. </dd></dl>

</div>
</div>
<a class="anchor" id="a5b15062bcdc03bff79cdc28bd5fe9581"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classArFunctor.html">ArFunctor</a>* ArSoundsQueue::getPauseCallback </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Create and return a new a functor for <a class="el" href="classArSoundsQueue.html#a7d27d8572c1db27e136a85ae15152d51" title="Temporarily stop processing the sounds queue. ">pause()</a>, which other modules can use to pause this sounds queue. </p>

</div>
</div>
<a class="anchor" id="a5d9dee85707655370dfa11e2f9860b5c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classArFunctor.html">ArFunctor</a>* ArSoundsQueue::getResumeCallback </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Create and return a new functor for <a class="el" href="classArSoundsQueue.html#a2299817c9725d01073f92f06c0faf18d" title="Resume processing the sounds queue. ">resume()</a>, which other modules can use to resume this sounds queue. </p>

</div>
</div>
<a class="anchor" id="a55feaa97933ebf630f1373de06853684"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ArSoundsQueue::isPaused </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>true if the queue is paused </dd></dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="soundsQueueExample_8cpp-example.html#a13">soundsQueueExample.cpp</a>.</dd>
</dl>
</div>
</div>
<a class="anchor" id="af363056a2dce60d77a05f5b6d9405fc1"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ArSoundsQueue::isSpeaking </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000065">Deprecated:</a></b></dt><dd></dd></dl>
<dl class="section return"><dt>Returns</dt><dd>true if any queue item is being played. </dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classArSoundsQueue.html#ae75d363d5ff3da705f0c4f8d8c52dea8" title="Returns true if an item is currently being played. ">isPlaying()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ad57523266a4e9a42fe62270bb7ae0c46"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ArSoundsQueue::isSpeakingOrPlaying </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000064">Deprecated:</a></b></dt><dd></dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classArSoundsQueue.html#ae75d363d5ff3da705f0c4f8d8c52dea8" title="Returns true if an item is currently being played. ">isPlaying()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="a7d27d8572c1db27e136a85ae15152d51"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArSoundsQueue::pause </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Temporarily stop processing the sounds queue. </p>
<p>(Any currently playing sound or speech utterance will finish. The sound device may remain open.) </p>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="soundsQueueExample_8cpp-example.html#a16">soundsQueueExample.cpp</a>.</dd>
</dl>
</div>
</div>
<a class="anchor" id="a77f50ee7d294994b84a834bd307b634f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArSoundsQueue::play </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>filename</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Add a sound file to the queue for default sound file playback. </p>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="soundsQueueExample_8cpp-example.html#a28">soundsQueueExample.cpp</a>.</dd>
</dl>
</div>
</div>
<a class="anchor" id="a5b97efa31bddb3244178f9f30921df48"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArSoundsQueue::playf </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>filename_fmt</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>...</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Add a sound file to the queue for default sound file playback. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">filename_fmt</td><td>Format string for determining the filename of the WAV file, same as printf(). </td></tr>
    <tr><td class="paramname">...</td><td>If given, arguments to format into the format string. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="aaba4198bc8ea0cd25ee1cfbb67961c7c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ArSoundsQueue::pushQueueItem </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classArSoundsQueue_1_1Item.html">ArSoundsQueue::Item</a>&#160;</td>
          <td class="paramname"><em>item</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>push item onto queue </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classArSoundsQueue.html#a6c1813ed5c1b57c77b6f4d3f7c938988" title="Add (a copy of) the given item to the queue. ">addItem()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="a8dbfd54803ecece0933506b725709ad3"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArSoundsQueue::removeItems </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>priority</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Remove pending and current items with a priority less than that given. </p>

</div>
</div>
<a class="anchor" id="a2e8e700c60788cd59136a4c6af84d57b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArSoundsQueue::removePendingItems </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>item</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classArSoundsQueue.html#adcaafc197f106de866c854ce3f9f468a">ItemType</a>&#160;</td>
          <td class="paramname"><em>type</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Remove pending items with the given data and type. </p>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="soundsQueueExample_8cpp-example.html#a22">soundsQueueExample.cpp</a>.</dd>
</dl>
</div>
</div>
<a class="anchor" id="a5931b53f0a1d7d3eb23c1287ec0e7165"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArSoundsQueue::removePendingItems </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>data</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Remove pending items with the given data. </p>

</div>
</div>
<a class="anchor" id="af73e62046198c9e1f61889c99f1088ea"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArSoundsQueue::removePendingItems </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>priority</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Remove pending items with a priority less than that given. </p>

</div>
</div>
<a class="anchor" id="a3277bb7cc2bd3137801f82d47ea19930"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArSoundsQueue::removePendingItems </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>priority</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classArSoundsQueue.html#adcaafc197f106de866c854ce3f9f468a">ItemType</a>&#160;</td>
          <td class="paramname"><em>type</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Remove pending items with priority less the given priority and with the given type. </p>

</div>
</div>
<a class="anchor" id="aa0fdc8c534530efd9491f771ff791296"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArSoundsQueue::removePendingItems </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classArSoundsQueue.html#adcaafc197f106de866c854ce3f9f468a">ItemType</a>&#160;</td>
          <td class="paramname"><em>type</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Remove pending items with the given type. </p>

</div>
</div>
<a class="anchor" id="ac1f05e67c5bbd38ff45f9295e8056a66"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ArSoundsQueue::remQueueNonemptyCallback </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classArFunctor.html">ArFunctor</a> *&#160;</td>
          <td class="paramname"><em>f</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Remove a functor added by <a class="el" href="classArSoundsQueue.html#a232be5d28fabf0dcbe95d34be0b8f261" title="Add a callback functor to be invoked when a the sound queue becomes non-empty, that is...">addQueueNonemptyCallback()</a>. </p>

</div>
</div>
<a class="anchor" id="a322f135e5a5c7e16fa9e508f159d623d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ArSoundsQueue::remSoundFinishedCallback </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classArFunctor.html">ArFunctor</a> *&#160;</td>
          <td class="paramname"><em>f</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Remove a callback functor to be invoked when plackback of one sound or speech utterance finishes. </p>

</div>
</div>
<a class="anchor" id="a3d0dce13c79766bea2decb16d4637e11"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ArSoundsQueue::remSoundItemFinishedCallback </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classArFunctor1.html">ArFunctor1</a>&lt; <a class="el" href="classArSoundsQueue_1_1Item.html">ArSoundsQueue::Item</a> &gt; *&#160;</td>
          <td class="paramname"><em>f</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Remove a callback functor to be invoked when plackback of one sound or speech utterance finishes. </p>

</div>
</div>
<a class="anchor" id="a55550a8c4bc8eca1a5168e217ea7fdf6"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ArSoundsQueue::remSoundItemStartedCallback </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classArFunctor1.html">ArFunctor1</a>&lt; <a class="el" href="classArSoundsQueue_1_1Item.html">ArSoundsQueue::Item</a> &gt; *&#160;</td>
          <td class="paramname"><em>f</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Remove a callback functor to be invoked when playback one sound or speech utterance starts. </p>

</div>
</div>
<a class="anchor" id="a2daac01ca272697d1871722ec625fd6f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ArSoundsQueue::remSoundStartedCallback </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classArFunctor.html">ArFunctor</a> *&#160;</td>
          <td class="paramname"><em>f</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Remove a callback functor to be invoked when playback one sound or speech utterance starts. </p>

</div>
</div>
<a class="anchor" id="a07d2ea90ac91f64bf5c2752993c56e36"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ArSoundsQueue::setDefaultPlayConditionCB </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classArSoundsQueue.html#a831d244f0f9f5740c58131e4cd663050">PlaybackConditionFunctor</a> *&#160;</td>
          <td class="paramname"><em>f</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Set a playback condition functor used for default speech and sound file items. </p>
<p>Set to NULL to clear. </p>

</div>
</div>
<a class="anchor" id="a2181959096769f7a8d00ce780b814396"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ArSoundsQueue::setInterruptFileCallback </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classArFunctor.html">InterruptItemFunctor</a> *&#160;</td>
          <td class="paramname"><em>cb</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Set the "default" callback to interrupt current wav file playback, for use by the <a class="el" href="classArSoundsQueue.html#a77f50ee7d294994b84a834bd307b634f" title="Add a sound file to the queue for default sound file playback. ">play()</a> convenience method. </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classArSoundsQueue_1_1Item.html" title="A sound item in the queue, with callbacks for dealing with the item and the data to pass to those cal...">Item</a> </dd></dl>

</div>
</div>
<a class="anchor" id="a09923f7689ae9e483663894ec2e9b4e6"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ArSoundsQueue::setInterruptSpeechCallback </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classArFunctor.html">InterruptItemFunctor</a> *&#160;</td>
          <td class="paramname"><em>cb</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Set the "default" callback to interrupt a current speech utterance, used by <a class="el" href="classArSoundsQueue.html#a65a547b34c10f1cdf17c358e117e3eae" title="Add text string item to the queue for speech synthesis. ">speak()</a> </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classArSoundsQueue_1_1Item.html" title="A sound item in the queue, with callbacks for dealing with the item and the data to pass to those cal...">Item</a> </dd></dl>

</div>
</div>
<a class="anchor" id="a18a4ee9aaa952188792551ee9af2c2ae"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ArSoundsQueue::setInterruptWavFileCallback </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classArFunctor.html">InterruptItemFunctor</a> *&#160;</td>
          <td class="paramname"><em>cb</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000068">Deprecated:</a></b></dt><dd>use <a class="el" href="classArSoundsQueue.html#a2181959096769f7a8d00ce780b814396" title="Set the &quot;default&quot; callback to interrupt current wav file playback, for use by the play() convenience ...">setInterruptFileCallback()</a> </dd></dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="soundsQueueExample_8cpp-example.html#a4">soundsQueueExample.cpp</a>.</dd>
</dl>
</div>
</div>
<a class="anchor" id="af115f8c8d3eb099ac82b5cc2923b1b8b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ArSoundsQueue::setPlayFileCallback </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classArSoundsQueue.html#a1670bc04bab708282683f9862d822eeb">PlayItemFunctor</a> *&#160;</td>
          <td class="paramname"><em>cb</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>As a convenience, you may set a "default" WAV file playback callback, and then simply use the <a class="el" href="classArSoundsQueue.html#a77f50ee7d294994b84a834bd307b634f" title="Add a sound file to the queue for default sound file playback. ">play()</a> method to add the file to the queue with this callback. </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classArSoundsQueue_1_1Item.html" title="A sound item in the queue, with callbacks for dealing with the item and the data to pass to those cal...">Item</a> </dd></dl>

</div>
</div>
<a class="anchor" id="a7a91b153f0bcf9705d9ab18091d32fe0"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ArSoundsQueue::setPlayWavFileCallback </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classArSoundsQueue.html#a1670bc04bab708282683f9862d822eeb">PlayItemFunctor</a> *&#160;</td>
          <td class="paramname"><em>cb</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000067">Deprecated:</a></b></dt><dd>use <a class="el" href="classArSoundsQueue.html#af115f8c8d3eb099ac82b5cc2923b1b8b" title="As a convenience, you may set a &quot;default&quot; WAV file playback callback, and then simply use the play() ...">setPlayFileCallback()</a> </dd></dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="soundsQueueExample_8cpp-example.html#a2">soundsQueueExample.cpp</a>.</dd>
</dl>
</div>
</div>
<a class="anchor" id="aeb709e73f5927b3281f407ecd7dd212b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ArSoundsQueue::setSpeakCallback </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classArSoundsQueue.html#a1670bc04bab708282683f9862d822eeb">PlayItemFunctor</a> *&#160;</td>
          <td class="paramname"><em>cb</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Convenience methods for special speech synthesis and WAV file queue items: </p>
<p>As a convenience, you may set a "default" speech synthesis callback, and then simply use the <a class="el" href="classArSoundsQueue.html#a65a547b34c10f1cdf17c358e117e3eae" title="Add text string item to the queue for speech synthesis. ">speak()</a> method to add a speech item to the queue with those callbacks. </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="classArSoundsQueue_1_1Item.html" title="A sound item in the queue, with callbacks for dealing with the item and the data to pass to those cal...">Item</a> </dd></dl>

</div>
</div>
<a class="anchor" id="aeb079ae1ff36f347dbe3e9514fb93535"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ArSoundsQueue::setSpeakInitCallback </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classArRetFunctor.html">ArRetFunctor</a>&lt; bool &gt; *&#160;</td>
          <td class="paramname"><em>cb</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000063">Deprecated:</a></b></dt><dd></dd></dl>

</div>
</div>
<a class="anchor" id="a65a547b34c10f1cdf17c358e117e3eae"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArSoundsQueue::speak </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>str</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Add text string item to the queue for speech synthesis. </p>
<p>The text will be sent to the "speak" callback, if set, otherwise the SynthesiseToSound and PlaySynthesizedSound callbacks are used, if set. </p>

</div>
</div>
<a class="anchor" id="a5f72642e4acd76679f9203bd4d46cd0d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArSoundsQueue::speakf </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>fmt</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>...</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Add a formatted text string (like printf) to the queue configured for default speech synthesis. </p>
<p>When reached in the queue while running, the text will be sent to the "speak" callback, if set, otherwise, the "SythesizeToSound" and "PlaySynthesizedSound" callbacks will be used (if they are set.)</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">fmt</td><td>Format string. </td></tr>
    <tr><td class="paramname">...</td><td>Arguments to format into the format string. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a4c489a2653ca45a5fa937da299000fd5"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArSoundsQueue::speakWithPriority </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>priority</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>fmt</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>...</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Speak with alternate priority. </p>

</div>
</div>
<a class="anchor" id="ab9bf50330d8e348a52b2a14d3b1fe2a8"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArSoundsQueue::speakWithVoice </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>voice</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>fmt</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>...</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Speak with alternate voice. </p>

</div>
</div>
<a class="anchor" id="a4ae132843ebaa7291a21063c582bdf8f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArSoundsQueue::stop </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>End the processing thread. </p>
<p>This function is deprecated. Use <a class="el" href="classArASyncTask.html#adb6a00c292ff5aa6e8db8cd9d33747ac" title="Stop the thread. ">stopRunning()</a> instead. </p><dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000066">Deprecated:</a></b></dt><dd>This shuts down the sound queue completely. To temporarily stop the queue processing, use <a class="el" href="classArSoundsQueue.html#a7d27d8572c1db27e136a85ae15152d51" title="Temporarily stop processing the sounds queue. ">pause()</a>. To interrupt the currently playing sound, use <a class="el" href="classArSoundsQueue.html#a0a24a9edf0dabfe72ff46a61ebced3a2" title="If sound is currently being played or speech is being spoken, interrupt it. (but continue processing ...">interrupt()</a>. </dd></dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="soundsQueueExample_8cpp-example.html#a19">soundsQueueExample.cpp</a>.</dd>
</dl>
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>ArSoundsQueue.h</li>
<li>ArSoundsQueue.cpp</li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="classArSoundsQueue.html">ArSoundsQueue</a></li>
    <li class="footer">Generated by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.11 </li>
  </ul>
</div>
</body>
</html>
